最近在自学基于深度学习的点云目标检测,在github上找到个PointPillars_MultiHead_40FPS的项目。配置了两天多环境终于装完了,按照使用说明测试的时候发现了一些环境不同导致的bug,特此记录一下。
1. git clone OpenPCDet工程的时候记得要用PointPillars_MultiHead_40FPS作者修改后的OpenPCDet ;
2. 按照OpenPCDet Changelog中的操作
python trans_pfe.py
结果报错:
class SparseBasicBlock(spconv.SparseModule):
AttributeError: module 'spconv' has no attribute 'SparseModule'
研究后发现是spconv版本更新导致,在spconv2的使用中,
import spconv 要改写成 import spconv.pytorch as spconv
该问题解决。
3. 紧接着继续运行python trans_pfe.py,报了个新错误
import spconv.core_cc as _ext
ModuleNotFoundError: No module named 'spconv.core_cc'
这个问题网上几乎没有解决方法,经过不懈尝试终于找到问题所在。是因为一开始我安装spconv是使用源码编译安装的,结果装错了版本,使用以下命令查看spconv版本,
pip list | grep spconv
显示spconv 2.1.21
卸载后重新安装,选对版本
pip install spconv-cu113
安装完再次查看版本,显示
spconv-cu113 2.1.21
再次运行,问题解决。