一、安裝NVIDIA驅(qū)動、cuda、cudnn
-
在nvidia官網(wǎng)根據(jù)自己的設別下載對應版本的NVIDIA驅(qū)動、cuda、cudnn 例如:64位pc、RTX2080 -> cuda10.2
1)cuda版本選擇lshw -numeric -C display ///> 查看顯卡型號 lspci | grep -i nvidia ///> 或 查看本機顯卡 -
安裝nvidia
1)舊驅(qū)動卸載以及禁用自帶的 nouveausudo apt-get purge nvidia* ///> 卸載舊的驅(qū)動 sudo apt-get autoremove sudo vi /etc/modprobe.d/blacklist-nouveau.conf ///> 禁用自帶的 nouveau nvidia驅(qū)動加入一下內(nèi)容:
blacklist nouveau options nouveau modeset=0sudo update-initramfs -u ///> 更新一下 lsmod | grep nouveau ///> 無輸出表示禁用生效
2)顯示器設置
臺式pc:將顯示器接口插入到主機集成顯卡接口
筆記本pc:進入bios目錄,關掉獨立顯卡顯示3)進入系統(tǒng)文本編輯
sudo telinit 34)安裝驅(qū)動
sudo chmod a+x NVIDIA-Linux-x86_64-450.80.02.run ///> 切換到驅(qū)動文件路徑下,并給驅(qū)動文件增加可執(zhí)行權限 ./NVIDIA-Linux-x86_64-450.80.02.run --no-opengl-files ///> 執(zhí)行 默認執(zhí)行即可 nvidia-smi顯示如下:
image
-
安裝cuda
1)卸載舊版本的cudasudo /usr/local/cuda-8.0/bin/cuda_uninstall ///> 根據(jù)老版本的cuda名卸載 sudo rm -rf /usr/local/cuda-8.02)安裝新版的cuda
sudo sh cuda_10.0.130_410.48_linux.run ///> 安裝cuda sudo /etc/init.d/lightdm start ///> 安裝好后,打開圖形界面 sudo gedit ~/.bashrc ///> 更改環(huán)境變量添加如下內(nèi)容:
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} export CUDA_HOME=/usr/local/cuda-10.0source ~/.bashrc ///> 環(huán)境變量生效 nvcc -V ///> 查看cuda是否安裝成功 -
安裝cudnn
sudo dpkg -i libcudnn8-samples_ sudo dpkg -i libcudnn8_ sudo dpkg -i libcudnn8-dev
二、下載PointRCNN ,其基于pytorch1.0,修改適應ubuntu1804LTS pytorch1.7
- 下載pointRCNN:參考pointRCNN中readme
git clone --recursive https://github.com/sshaoshuai/PointRCNN.git pip install easydict tqdm tensorboardX -i https://pypi.tuna.tsinghua.edu.cn/simple
- pointRCNN源碼解決pytorch版本不匹配問題
1)修改cuda支持問題
image
2)預訓練模型(提供了car的預訓練模型)直接受三個通道,因此需要將intensity排除grep AT_CHECK -rn . ///> 在pointRCNN源碼路徑下搜索,并依次替換 grep THCState_getCurrentStream(state) -rn . ///> 在pointRCNN源碼路徑下搜索,并依次替換__C.RPN.USE_INTENSITY = False ///> pointRCNN/lib/config.py中 - 安裝一些庫
sh build_and_install.sh - 評估預訓練模型:github預訓練模型與評估代碼
1)將下載的KITTI數(shù)據(jù)集安裝以下結(jié)構,放入pointRCNN源碼源碼目錄中
image
2)輸出預測結(jié)果:data文件夾
運行以下語句將在/PointRCNN/output/rcnn/default/eval/epoch_no_number/val/final_result 路徑下輸出
3)評估預測結(jié)果python eval_rcnn.py --cfg_file cfgs/default.yaml --ckpt PointRCNN.pth --batch_size 1 --eval_mode rcnn --set RPN.LOC_XZ_FINE False
?? a. write the CmakeLists.txt
?? b. make generate evaluate_detect_3d_offline/// CmakeLists.txt cmake_minimum_required(VERSION 3.0) project(evaluate_detect_3d_offline) add_executable(evaluate_detect_3d_offline evaluate_object_3d_offline.cpp)
?? c. ./evaluate_detect_3d_offline gt_dir result_dir
???? 其中, gt_dir = Dataset/KITTI/data_object_label_2/training/label_2;
????result_dir = /home/zc/MyFile/git/dataset/kitti_eval/pred;


