天天看點

訓練 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的這一行

開始build啦

bash setup.sh fpt
           

這一步會安裝很多包,極有可能出現time out的情況。

build完成以後會出現這樣的界面。

(反正挺艱難的,很多time out,還有could not find cuda runtime之類)

訓練 fast point transformer
準備資料集

可以用ScannetV2 和 S3DIS,

ScannetV2資料集有1.2T,是以選了S3DIS資料集。

把它下載下傳下來,檔案夾為Stanford3dDataset_v1.2

fast point transformer用的資料為ply格式,需要預處理,

在preprocess_scannet.py中修改input 和 output path。

處理完以後會得到s3dis_processed檔案夾

接下來要把src/data下面的meta_data copy出來,

建立一個s3dis的路徑,

把meta_data 和 s3dis_processed放到裡面去

訓練 fast point transformer

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

中間儲存的weight在experiments檔案夾裡,ckpt檔案

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

繼續閱讀