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


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

机器型号

系统:升级到ubuntu18
笔记本显卡型号:GTX1070
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

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

  • 清理无用的安装包
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 torchvision -c pytorch
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

pip install spconv-cu113
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

sh scripts/dist_train.sh 8 --cfg_file tools/cfgs/kitti_models/pointpillar.yaml

在这里插入图片描述
没有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

在这里插入图片描述

nuscenes训练和测试

数据预处理

1.链接数据

OpenPCDet
├── data
│   ├── nuscenes
│   │   │── v1.0-trainval (or v1.0-mini if you use mini)
│   │   │   │── samples
│   │   │   │── sweeps
│   │   │   │── maps
│   │   │   │── v1.0-trainval  
├── pcdet
├── tools

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

python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \
    --cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \
    --version v1.0-trainval

训练

# 单卡训练
cd tools
python train.py --cfg_file cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint.yaml

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

测试

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

#inside the OpenPCDet project
cd tools
python test.py --cfg_file cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint.yaml --batch_size 4 --ckpt ../output/nuscenes_models/cbgs_voxel0075_res3d_centerpoint/default/ckpt/checkpoint_epoch_20.pth

onnx

pip install onnx  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install onnxsim  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install onnxruntime  -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install ~/3D/TensorRT-8.2.3.0/graphsurgeon/graphsurgeon-0.4.5-py2.py3-none-any.whl
pip install ~/3D/TensorRT-8.2.3.0/onnx_graphsurgeon/onnx_graphsurgeon-0.3.12-py2.py3-none-any.whl
欢迎大家关注笔者,你的关注是我持续更博的最大动力


  • 9
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

令狐少侠、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值