参考博客:PV-RCNN参数修改
- 数据集格式以及文件目录:
OpenPCDet
├── data
│ ├── kitti
│ │ │── ImageSets
│ │ │── training
│ │ │ ├──calib & velodyne & label_2 & image_2 & (optional: planes) & (optional: depth_2)
│ │ │── testing
│ │ │ ├──calib & velodyne & image_2
├── pcdet
├── tools - Generate the data infos by running the following command:
python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml
会出现TypeError: load() missing 1 required positional argument: ‘Loader’ 的错误,这是由于新的pyyaml 6.0版本不兼容低版本,可以下载5.4.1版本 pip install pyyaml==5.4.1
最终成功的截图如图:
- 训练
python train.py --cfg_file ${CONFIG_FILE}
这里使用的参数batch_size和workers是2,epochs是10,储存路径命名为’mydata_1’
python train.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --batch_size 2 --workers 2 --epochs 10 --extra_tag 'mydata_1'
此时会出现错误:
这是由于我们的标签中没有Car.因此需要将/OpenPCDet/tools/cfgs/kitti_models/pv_rcnn.yaml这个文件中的car变成自己需要的标签,/pcdet/datasets/kitti/kitti_dataset.py 中的480行,以及eval.py的31、649、753行。
当出现上述错误的时候,我们需要注释掉配置文件中的 filter_by_difficulty: [-1],
当出现CUDA kernel failed : invalid device function Segmentation fault (core dumped) 错误时:可能是由于各个版本不匹配的原因导致的。
重新安装环境(cuda10.1+cudnn7.6.5+spconv1.2.1+pytorch1.3 )
安装cuda10.1对应版本:
conda install pytorch1.3.1 torchvision0.4.2 cudatoolkit=10.1 -c pytorch
安装spconv时由于基本的路径都是在home自己的用户名下,所以需要更改。参考博客:3D目标检测算法配置–CIA-SSD与spconv1.2的安装注意spconv1.2.1的位置在此处
当出现上述图片/usr/bin/ld: cannot find -lCUDA_cublas_LIBRARY-NOTFOUND的错误时,则需要在CMAKELists的第六行添加set(CMAKE_CUDA_COMPILER “/home/qinjia/Software/anaconda3/envs/PVRCNN/bin/nvcc”)
注意:要将配置文件中的road_plane 改为False,表示不使用这个数据,而是使用我们自己的数据。
训练之后出现如下图情况,表示训练成功。



