在已經搭建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 <包名>
安裝其他依賴庫
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/需要重新下載下傳,然後放進去
下載下傳源代碼後,在該檔案下打開終端,輸入下面的代碼,安裝依賴庫
sh build_and_install.sh
下載下傳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中的檔案夾位置排列)
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 中有多線程跑的指令,合适的工作站可以考慮跑一下啊
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
source ~/.bashrc
對真值(綠色)和預測值(紅色)進行對比
python kitti_object.py --show_lidar_with_depth --img_fov --const_box --vis -p