OpenPCDet环境配置

2023-08-07

00实验环境
·Ubuntu 16.04,·RTX 2080,·CUDA 10.1,01安装步骤
1.1 安装之前
1.1.1 验证cmake版本
cmake版本要大于等于1.13,不然后边的库的setup过程会报错。不要看网上的博客盲目执行pip install cmake或者apt-get autoremove cmake,这样会导致出一些额外的错误。我参考的是这篇博客进行cmake的升级。
1.1.2 验证cuda和cudnn是否安装好了
先说一下我遇到的问题,因为这次的机子是我接手别人的,里边看似是cuda和cudnn都配置好了,但是后边运行的时候还是过不去。
nvcc -V和nvidia-smi两个命令显示的cuda是不一致的,这个问题不大。
主要看nvcc -V这条命令显示的cuda版本。nvidia-smi所显示的cuda是,这个台机器安装驱动所能带动的最大cuda版本,nvcc -V显示的cuda版本才是运行是的版本。
一般来说nvidia-smi所显示的版本要高一些。但是,我这台机器nvcc -V所显示是10.2,nvidia-smi所显示的是10.1,本着能不改驱动就不改驱动的原则(担心ubuntu的黑屏),我把~/bashrc中的环境变量改成了10.1版本的。
下边所有库安装好之后,最好验证一下是否安装成功,成功后,再进行下一步,否则后边容易出错,且难定位。
1.2 配置环境,安装需要的库
1.2.1 创建虚拟环境
1.2.2 进入该虚拟环境
1.2.3 安装pytorch
注:安装的是gpu版本,安装之后可以测试一下,torch是否能调用cuda。
安装命令,建议去官网复制粘贴,不容易出现cuda和torch版本不匹配的问题。我没有换源,直接用下边的命令行,下载安装也非常快。
1.2.4 安装spconv
这一步比较容易出现问题。目前spconv出了2.0以上版本,而spconv2.只支持cuda10.2以上版本。
如果cuda版本合适,直接运行pip安装即可,像我的系统安装的是cuda10.1,只能老老实实下载原始的版本。
找个文件夹,开始安装spconv1.2>
OpenPCDet环境配置 (https://ic.work/) 可编辑器件 第1张
验证是否安装成功>
命令>
注:numpy库不能太低,我的默认安装了1.16.0版本,后边报错信息不会直接显示numpy版本过低,而是显示No Module xxx,很难看出是numpy版本的问题。
验证pcdet是否安装成功>
ros下的可视化,可以参考我另写的一篇博客。三维目标检测之ROS可视化,2.1 安装可视化库
首先需要安装可视化的库,mayavi或者open3d两者都可以,可以安装其中一个,也可以两个都安装。
我在安装mayavi的时候一直有问题,转而安装open3d,下边以open3d为例。
因为新版本不支持ubuntu16.04,所以我这里是指定的open3d版本号,这里要感谢这篇博客,之前没有考虑到open3d的版本选择跟ubuntu的版本号也有关系。
如果不是ubuntu18.04及以上版本,open3d的版本就可以高一些了。
注:open3d的安装用conda来安装,pip安装一直会出问题。
验证open3d是否安装成功>
如果有错误,可以到文中的第三部分(问题汇总),查看原因,可能是open3d版本不对,也可能是调用了~/.local中的open3d库。
tools/demo.py文件中,优先使用的是open3d,如下图所示,如果想要用mayavi这个库的话,需要把try部分删了,只用except里边的部分。
OpenPCDet环境配置 (https://ic.work/) 可编辑器件 第2张
2.2 测试
从官方下载,想要测试的网络模型。
OpenPCDet环境配置 (https://ic.work/) 可编辑器件 第3张
将训练模型和测试的点云数据放在合适的位置,执行下边的命令。
测试结果>
OpenPCDet环境配置 (https://ic.work/) 可编辑器件 第4张
03问题汇总
3.1 mayavi的问题:python3.8安装mayavi4.7.3
安装的顺序,安装的版本都有一定的要求,这几个的先后编译顺序不能颠倒。
3.2 Open3d的问题:
如果遇到类似下边的情况,大概率为open3d版本问题导致。
情况一>
情况二>
OpenPCDet环境配置 (https://ic.work/) 可编辑器件 第5张
我在第二个问题上卡了一段时间,明明版本什么都对了呀,为啥运行demo.py的时候还是出错。
另外,因为我之前安装过open3d,所以在~/.local中有一个版本错误的open3d,在运行demo程序的时候,需要加上-s,-s可以让Python不去查找用户目录中的库。
如何运行python而不在其模块搜索路径中包含~/.local/lib/pythonX.Y/sitepackages,3.3 运行demo时出错
情况一:段错误(核心已转储)

文章推荐

相关推荐