训练 fast point transformer

Fast point transformer用于3D点云的语义分割,
paper和github主页

github链接

安装cuda

首先要安装cuda,github上指定的是11.1
cuda tookit链接
cuDNN链接

cuda安装完以后记得在~/.bashrc中设置路径

export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-11.1

然后更新一下

source ~/.bashrc
安装anaconda

这个就不用多说了,去anaconda官网下一个sh文件
anaconda链接

建立fpt 环境

运行fast point transformer的conda环境是fpt
先把github上代码clone下来,
但是注意,它的thirdparty/MinkowskiEngine给的是链接,clone下来文件夹是空的,
要把MinkowskiEngine的github代码也clone下来

修改conda路径,在setup.sh的这一行

source /opt/anaconda3/etc/profile.d/conda.sh # you may need to modify the conda path.

开始build啦

bash setup.sh fpt

这一步会安装很多包,极有可能出现time out的情况。
build完成以后会出现这样的界面。
(反正挺艰难的,很多time out,还有could not find cuda runtime之类)
训练 fast point transformer_第1张图片

准备数据集

可以用ScannetV2 和 S3DIS,
ScannetV2数据集有1.2T,所以选了S3DIS数据集。
把它下载下来,文件夹为Stanford3dDataset_v1.2

fast point transformer用的数据为ply格式,需要预处理,
在preprocess_scannet.py中修改input 和 output path。

python src/data/preprocess_scannet.py # you need to modify the data path

处理完以后会得到s3dis_processed文件夹

接下来要把src/data下面的meta_data copy出来,
新建一个s3dis的路径,
把meta_data 和 s3dis_processed放到里面去
训练 fast point transformer_第2张图片

s3dis的路径要写到./config/s3dis/train_default.gin

# Data module
S3DISArea5RGBDataModule.data_root = "/root/data/s3dis" # you need to modify this according to your data.
训练

train.py运行以后会提示你要不要用wandb,如果选的用,
它会提示在wandb主页上注册一个账号,然后复制一个key过来,
具体参考quick start主页
要在train.py的开头加上这样两句,不加的话wandb会报错

import wandb

wandb.init(project="my-test-project")

然后就开始训练啦

(fpt) ~/FastPointTransformer$ python train.py config/s3dis/train_fpt.gin

训练 fast point transformer_第3张图片
中间保存的weight在experiments文件夹里,ckpt文件

如果出现cuda run out of memory,可以把batch_size改小一点

S3DISArea5RGBDataModule.train_batch_size = 2

你可能感兴趣的:(DeepLearning,transformer,深度学习,python)