【PV-RCNN环境配置 】ubantu18.04 显卡NVIDIA RTX3090Ti cuda11.3 pytorch==1.10.0 spconv-1.2.1

题目:PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection

论文地址: https://arxiv.org/pdf/1912.13192.pdf
代码地址: https://github.com/open-mmlab/OpenPCDet

1.配置环境

本文默认显卡驱动,anaconda等相关软件已经安装好

  • 硬件平台:GPU为Nvidia RTX 3090Ti,CPU Intel i9 12900K
  • Ubuntu 18.04
  • Python 3.8
  • pytorch 1.10.0 torchvision 0.11.0 cuda 11.3

2.安装步骤

2.1 创建并激活conda环境

conda create -n pcdet python=3.8
conda activate pcdet

2.2 安装pytorch

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
  • 检验安装结果,输出对应版本和True即为安装成功
python
>>> import torch
>>> print(torch.__version__)
>>> print(torch.cuda.is_available())

2.3 安装spconv

cd projects/OpenPCDet/
git clone -b v1.2.1 https://github.com/traveller59/spconv.git --recursive
cd spconv/
python setup.py bdist_wheel
cd ./dist
pip install spconv-1.2.1-cp38-cp38-linux_x86_64.whl
  • 或者
pip install spconv-cu113
  • 检验是否安装成功
python
>>> import spconv
>>>

2.4 安装依赖,需要将requirements.txt文件中的torch, torchvision删除,因为前面已经安装成功

cd OpenPCDet/
pip install -r requirements.txt

2.5 安装pcdet

python setup.py develop
  • 检验pcdet是否安装成功
python
>>> import pcdet
>>> 

2.6 安装mayavi

pip install mayavi
  • 检验mayavi是否安装成功
python
>>> import mayavi
>>>

安装mayavi时报错:
在这里插入图片描述解决办法,只需输入:

pip install https://github.com/enthought/mayavi/zipball/master

3.运行demo.py

  • 运行代码之前要下载训练好的权重文件pv_rcnn_8369.pth,
  • 下载地址:https://drive.google.com/file/d/1lIOq4Hxr0W3qsX83ilQv0nk1Cls6KAr-/view,将下载好的文件放到tools文件夹下;

3.1 数据预处理,生成数据pkl文件和gt_database文件夹;

数据集准备:

OpenPCDet
├── data
│   ├── kitti
│   │   │── ImageSets
│   │   │── training
│   │   │   ├──calib & velodyne & label_2 & image_2 & (optional: planes) & (optional: depth_2)
│   │   │── testing
│   │   │   ├──calib & velodyne & image_2
├── pcdet
├── tools
python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml

这时出现报错:

ModuleNotFoundError: No module named 'av2'

解决方法:

pip install av2

继续运行前面的代码,出现另一个报错:

ModuleNotFoundError: No module named 'kornia'

解决方法:

pip install kornia==0.6.5

注意:以上版本很关键

3.2 运行demo.py

cd tools/
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml  --ckpt pv_rcnn_8369.pth --data_path ../data/kitti/training/velodyne/000008.bin

这里又出现报错:
在这里插入图片描述报错1:

WARNING: Imported VTK version (9.3) does not match the one used
         to build the TVTK classes (9.2). This may cause problems.
         Please rebuild TVTK.

解决方法:

pip uninstall vtk==9.3
pip install vtk==9.2.5

报错2:

AttributeError: module 'spconv' has no attribute '__version__'

猜测是前面spconv安装有问题,解决办法:

# 查看spconv版本
pip list | grep spconv

在这里插入图片描述解决办法:

# 卸载
pip uninstall spconv-1.2.1
# 重新安装后可以运行 
pip install spconv-cu113

继续运行demo.py,出现如下错误:
在这里插入图片描述
从提示看是没有安装PyQt/PySide导致的,安装Qt后还是会出问题,不能显示运行结果:
在这里插入图片描述
于是卸载了Qt,安装pyside2

# 卸载了Qt
pip uninstall pyqt5
# 安装pyside2
pip install pyside2 -i https://pypi.doubanio.com/simple
或 -i https://mirrors.aliyun.com/pypi/simple     # 阿里源-i https://pypi.tuna.tsinghua.edu.cn/simple   # 清华源
  • 最终,成功运行demo.py
    在这里插入图片描述
    此外,在运行demo.py时可能会遇到以下错误:
    在这里插入图片描述解决办法:
    在命令行输入以下命令:
unset LD_LIBRARY_PATH

注:unset LD_LIBRARY_PATH 是一个用于清空 Linux 或 Unix 操作系统环境变量 LD_LIBRARY_PATH 的命令。

3.3 训练和测试

  • 训练模型,cd到tools下:
# 单卡训练
python train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --batch_size 2 --epochs 80
# 多卡训练
bash scripts/dist_train.sh 8(显卡数) --cfg_file cfgs/kitti_models/pv_rcnn.yaml --batch_size 4 --epochs 80
  • 模型测试,cd到tools下:
python test.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --batch_size 8 --ckpt pv_rcnn_8369.pth --save_to_file

至此,完整的PV-RCNN代码运行过程就完成了。

参考:
https://blog.csdn.net/weixin_42905141/article/details/124515876
https://blog.csdn.net/qq_41301570/article/details/137704777
https://blog.csdn.net/weixin_42905141/article/details/124515876
https://blog.csdn.net/cpu077/article/details/139113832

  • 25
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值