天天看點

Y7000P pointrcnn(複現訓練+可視化)

在已經搭建cuda10.2 cudnn8.0 的基礎上,選擇anaconda 3 python 3.6 作為深度學習虛拟環境的搭建

0. python 版本的選擇

在liunx 下一般有兩個版本的python,再加上新的anaconda 3 python 3.6 一共有三個,為友善使用,此處一定要可選擇

1>在檔案 ~/.bashrc 中 添加(使python2.7 和 anaconda3 中 python 3.6 切換)

export PATH="/home/usr/anaconda3/bin:$PATH"
export PATH="~/miniconda3/bin:$PATH"
. /home/usr/anaconda3/etc/profile.d/conda.sh
export PYTHONPATH="/home/usr/anaconda3/lib/python3.6/site-packages:$PYTHONPATH"
           

需要用系統python2.7 時需要注釋掉這些行

2>用工具update-altrenatives 改變(切換系統中的python2.7 和python3.5)

sudo update-alternatives --install /home/usr/bin/python2.7 python /home/usr/bin/python2.7 2 
sudo update-alternatives --install /home/usr/bin/python3.5 python /home/usr/bin/python3.5 1 
sudo update-alternatvies --config python
           

1. 安裝anaconda3

2. 在anaconda 3 采用 conda 安裝torch

1> 激活環境

conda activate
           

2>在環境下安裝torch

conda create -n pointrcnn --clone base
           

3>建立核心

conda install ipykernel
           

4>安裝ipython 工具

conda install ipython
           

5>安裝 pytorch

在conda 裡添加清華的源

conda install pytorch==1.0.0 torchvision==0.2.1 cuda100
           

安裝後可能架構不全,需要自己繼續安裝

conda search <包名> ##conda search torchvision
conda install <包名>
           
Y7000P pointrcnn(複現訓練+可視化)
Y7000P pointrcnn(複現訓練+可視化)
Y7000P pointrcnn(複現訓練+可視化)

安裝其他依賴庫

pip install easydict
pip install tqdm
pip install tensorboardX
pip install scipy
pip install fire
pip install skimage
pip install numba
pip install yaml
           

6>下載下傳源代碼+資料集

git clone  --recursive https://github.com/sshaoshuai/PointRCNN.git
           

拷貝代碼時 pointnet2_lib 需要在https://github.com/sshaoshuai/Pointnet2.PyTorch/需要重新下載下傳,然後放進去

Y7000P pointrcnn(複現訓練+可視化)

下載下傳源代碼後,在該檔案下打開終端,輸入下面的代碼,安裝依賴庫

sh build_and_install.sh

Y7000P pointrcnn(複現訓練+可視化)

下載下傳KITTI資料集(此處推薦用迅雷下,特别快)

https://blog.csdn.net/weixin_44003563/article/details/105384659?ops_request_misc=&request_id=&biz_id=102&utm_term=KITTI%E6%95%B0%E6%8D%AE%E9%9B%86%20%E8%BF%85%E9%9B%B7%E4%B8%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-105384659.pc_search_result_control_group&spm=1018.2226.3001.4187
           

下好後,按照下圖中(object中的檔案夾位置排列)

Y7000P pointrcnn(複現訓練+可視化)

7>配置conda

添加軟連結

sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda
           

在./bashrc 中添加

export NUMBAPRO_NVVM="/usr/local/cuda/nvvm/lib64/libnvvm.so"
export NUMBAPRO_LIBDEVICE="/usr/local/cuda/nvvm/libdevice/" 

export PATH="$PATH:/usr/local/cuda/bin"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64/"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda/lib64"
           

8>訓練開始

python generate_gt_database.py --class_name 'Car' --split train
python train_rcnn.py --cfg_file cfgs/default.yaml --batch_size 1 --train_mode rpn --epochs 200 #訓練模型
python train_rcnn.py --cfg_file cfgs/default.yaml --batch_size 1 --train_mode rcnn --epochs 70  --ckpt_save_interval 2 --rpn_ckpt ../output/rpn/default/ckpt/checkpoint_epoch_200.pth #第二階段
python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt ../output/rcnn/default/ckpt/checkpoint_epoch_70.pth --batch_size 1 --eval_mode rcnn #生成可視化
           

此外,代碼中的README.txt 中有多線程跑的指令,合适的工作站可以考慮跑一下啊

Y7000P pointrcnn(複現訓練+可視化)
Y7000P pointrcnn(複現訓練+可視化)

9>可視化

下載下傳代碼

git clone https://github.com/kuixu/kitti_object_vis 
           

安裝庫(在同一個conda 建構的空間裡)

pip install opencv-python #pillow scipy matplotlib 由于是複制的環境,這幾個都有,是以不需要,如果沒有還是要安裝的
conda install mayavi -c conda-forge
           

建造軟連結

cd /home/usr/wokespace/pointrcnn_ws/PointRCNN/data/KITTI/object/training
ln -s /home/usr/wokespace/PointRCNN/output/rcnn/default/eval/epoch_70/val/final_result/data pred #将訓練後儲存的資料連結過來
cd /home/usr/wokespace/kitti_object_vis/data
ln -s /home/usr/wokespace/PointRCNN/data/KITTI/object object
           

注釋掉./bashrc檔案中的ROS 路徑代碼

sudo gedit ~/.bashrc
           
Y7000P pointrcnn(複現訓練+可視化)

source ~/.bashrc

對真值(綠色)和預測值(紅色)進行對比

python kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis -p
           
Y7000P pointrcnn(複現訓練+可視化)

繼續閱讀