OpenPCDet——环境配置和kitti训练测试(升级系统、Nvidia驱动、cuda11.3、cudnn8.2)

OpenPCDet——环境配置和kitti训练测试(升级系统、Nvidia驱动、cuda11.3、cudnn8.2),第1张

文章目录
  • 机器型号
  • 升级系统
  • NVIDIA 驱动升级
  • cuda安装
  • cudnn安装
  • conda安装
  • pytorch安装
  • 升级cmake
  • 安装spconv
  • OpenPCDet安装
  • kitti训练和测试
    • 准备数据
    • 数据预处理
    • 训练
    • 测试

笔记本显卡驱动NVIDIA 418,cuda9.0 比较旧,和工作环境不兼容,导致tensorRT装版本也不一致,决定把GTX 1060显卡升级到最新的驱动

机器型号

系统:升级到ubuntu18
笔记本显卡型号:GTX1060
cuda:cuda9.2升级到cuda11.3

升级系统

由ubuntu16升级到ubuntu18

  • 更新资源
sudo apt-get update
sudo apt-get upgrade
sudo apt dist-upgrade
  • 安装update-manager-core
sudo apt-get install  update-manager-core
  • 更新16.04到18.04
sudo do-release-upgrade

执行上一步命令后,会自动升级系统。

- 清理无用的安装包

```bash
sudo apt-get remove
  • 查看版本信息
sudo lsb_release -a
NVIDIA 驱动升级
sudo apt-get remove --purge nvidia*
sudo sh NVIDIA-Linux-x86_64-418.56.run --uninstall

禁用nouveau

sudo gedit /etc/modprobe.d/blacklist.conf

在文末添加:blacklist nouveau
保存后执行:

sudo update-initramfs -u

重启,重启会出现屏幕尺寸不正常,因为禁用了ubuntu自带的图形处理

reboot

若无输出代表禁用nouveau生效

lsmod | grep nouveau

查看当前显卡型号,及推荐安装的驱动

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

ubuntu-drivers devices


这里我没有用推荐的显卡驱动,直接去官网下载最新:https://www.nvidia.cn/geforce/drivers/

点击开始搜索,下载最新的驱动安装

sudo chmod a+x NVIDIA-Linux-x86_64-510.68.02.run

sudo ./NVIDIA-Linux-x86_64-510.68.02.run -no-x-check -no-nouveau-check -no-opengl-files
  • -no-x-check:安装驱动时关闭X服务

  • -no-nouveau-check:安装驱动时禁用nouveau

  • -no-opengl-files:只安装驱动文件,不安装OpenGL文件

挂载Nvidia驱动:

modprobe nvidia

检查驱动是否安装成功:

nvidia-smi


重启下:

sudo reboot
cuda安装

先卸载旧cuda

sudo rm /etc/apt/sources.list.d/cuda*
sudo apt remove --autoremove nvidia-cuda-toolkit

然后切换到CUDA所在目录:

cd /usr/local/

删除CUDA-9.0目录:

sudo rm -rf cuda-9.0/

查看cuda和NVIDIA驱动的对应关系:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
看pytorch最新只支持cuda11.3,这里我下载cuda11.3
cuda下载:

下载cuda11.3安装

wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run

添加环境变量

sudo vim ~/.bashrc

文件末尾添加:

#CUDA
export PATH=/usr/local/cuda-11.3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH

保存退出后激活

source ~/.bashrc

创建链接文件

sudo vim /etc/ld.so.conf.d/cuda.conf
# 文件添加:
/usr/local/cuda-11.3/lib64

# 保存退出后执行:
sudo ldconfig 

查看cuda版本:

nvcc -V

也可以测试下:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

cudnn安装

https://developer.nvidia.com/rdp/cudnn-download

下载cudnn-11.3-linux-x64-v8.2.0.53.tgz

安装

tar -zxvf cudnn-11.3-linux-x64-v8.2.0.53.tgz

sudo cp cuda/lib64/* /usr/local/cuda/lib64/
sudo cp cuda/include/* /usr/local/cuda/include/

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
**测试cudnn**
- 复制cudnn_samples_v8到home下
```bash
cp -r /usr/src/cudnn_samples_v8 ~/
  • 进入mnistCUDNN目录下编译并测试
cd ~/cudnn_samples_v8/mnistCUDNN/
make clean && make  -j8
./mnistCUDNN

若出现Test passed!,则表示cudnn安装成功

conda安装

下载:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
安装:

bash Anaconda3-2021.11-Linux-x86_64.sh

将anaconda添加到用户环境变量中

export PATH="/home/xiaohu/anaconda3/bin:$PATH"
conda create -n cuda11.3_python3.7 python=3.7
conda activate cuda11.3_python3.7

其他conda命令:

# 退出环境
conda deactivate
# 重命名环境将 --clone 后面的环境重命名成 -n 后面的名字)
conda create -n python37 --clone python3.7 
# 列举虚拟环境 	
conda env list
pytorch安装

https://pytorch.org/get-started/locally/

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

后续安装opcdet安装会出现如下问题:

升级到ubuntu18,就出现这问题,THC/THC.h: 没有那个文件或目录

发现时pytorch在最新的版(1.11)本中将THC/THC.h文件删除,降低pytorch版本为1.10

改装pytorch1.10.1

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge

pytorch下载很慢,去清华镜像源下载对应版本的pytorch,下载后conda本地安装

conda install --use-local ~/下载/pytorch-1.10.1-py3.7_cuda11.3_cudnn8.2.0_0.tar.bz2
conda install --use-local ~/下载/torchvision-0.11.2-py37_cu113.tar.bz2

再次执行

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge

升级cmake

下载cmake:官方下载地址为:https://cmake.org/download/

tar -xvzf cmake-3.22.4-linux-x86_64.tar.gz
sudo mv cmake-3.22.4-linux-x86_64 /opt/cmake-3.22.4
# 创建软链接
sudo ln -sf /opt/cmake-3.22.4/bin/*  /usr/bin/ 

查看cmake版本:

cmake --version

安装spconv
git clone https://github.com/traveller59/spconv.git --recursive
cd spconv/

安装pccm模块

pip install pccm
python setup.py bdist_wheel
cd ./dist
pip install *

检验spconv是否安装成功,无报错即可

OpenPCDet安装
git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
# 下载会比较慢,换成清华源快速安装依赖python包
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
python setup.py develop 

检验是否安装成功

python 
import pcdet

kitti训练和测试

下载数据:http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
百度云链接: https://pan.baidu.com/s/1ByW3OA-wEShdUcuetNf-5g 提取码: u16i

准备数据

1.建立软连接

cd OpenPCDet/data/kitti
ln -s /media/xiaohu/xiaohu/new\ start/数据集/激光/object/training training
ln -s /media/xiaohu/xiaohu/new\ start/数据集/激光/object/testing testing

数据集格式

├── ImageSets
│   ├── test.txt
│   ├── train.txt
│   └── val.txt
├── testing -> /media/xiaohu/xiaohu/new start/数据集/激光/object/testing
└── training -> /media/xiaohu/xiaohu/new start/数据集/激光/object/training

# training
├── calib
├── image_2
├── label_2
└── velodyne
# testing
├── calib
├── image_2
└── velodyne
数据预处理

2.准备数据:
生成数据pkl文件和gt_database文件夹

python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml
训练
  • 单卡训练
cd tools
python train.py --cfg_file cfgs/kitti_models/pointpillar.yaml

# 多卡训练
CUDA_VISIBLE_DEVICES=5,6,7 python -m torch.distributed.launch --nproc_per_node=3 tools/train.py --cfg_file tools/cfgs/kitti_models/pointpillar.yaml --launcher pytorch


没有roadplane数据,设置下pointpillar.yaml中USE_ROAD_PLANE字段:

USE_ROAD_PLANE: False

tensorBoard可视化:

cd output/kitti_models/pointpillar/default/
tensorboard --logdir tensorboard/


笔记本显卡不行,我这里就不训练了

测试

先安装VTK和mayavi

pip安装太慢了,离线下载mayavi安装:https://pypi.org/project/mayavi/#files

pip install vtk==8.1.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

python3 -m pip install ~/下载/mayavi-4.7.4.tar.gz -i https://pypi.tuna.tsinghua.edu.cn/simple

验证模型
运行test.py脚本验证模型在测试集上的性能

#inside the OpenPCDet project
cd tools
python test.py --cfg_file cfgs/kitti_models/pointpillar.yaml --batch_size 4 --ckpt ../output/kitti_models/pointpillar/default/ckpt/checkpoint_epoch_80.pth

运行demo.py可视化模型在测试集上的推理效果

python demo.py --cfg_file cfgs/kitti_models/pointpillar.yaml  --data_path ../data/kitti/testing/velodyne/000099.bin --ckpt ../output/kitti_models/pointpillar/default/ckpt/checkpoint_epoch_80.pth


欢迎大家关注笔者,你的关注是我持续更博的最大动力



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/798744.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存