mit那个源代码的环境总是部署不好,所以曲线救国来跑open-mmlab上的project
话不多说,先根据mmdetection3d部署好环境
环境配置
官网地址如下:开始你的第一步 — MMDetection3D 1.2.0 文档
我的环境配置如下:根据自己的cuda版本安装torch之后便可以根据安装流程安装mmcv mmdet mmengine等包
数据集准备
Mmdectection3d有提供专门的数据处理工具,地址如下:数据集 — MMDetection3D 1.2.0 文档 projects中的BEVFusion是在nuscenes数据集上处理的NuScenes 数据集 — MMDetection3D 1.2.0 文档,所以我是参照的Nuscenes数据集处理方式,因为原始的数据集太大,我使用的是v1.0-mini版本,所以对应的代码需要进行修改。
原始的v1.0-mini数据集如下所示:
使用指令转化后的数据集格式如下所示:python tools/create_data.py nuscenes --root-path ./data/nuscenes --version v1.0-mini --out-dir ./data/nuscenes --extra-tag nuscenes
运行指令前要修改的地方/mmdet3d/datasets/nuscenes_dataset.py
此处的v1.0-trainval一定要改成v1.0-mini,不然即便可以成功将Bin文件转化成pkl文件,在训练和评估时还是会识别到v1.0-trainval(debug de了两天的人含泪说道)。数据集转化好之后就可以开始训练了。
训练Bevfusion
文档地址:mmdetection3d/projects/BEVFusion at main · open-mmlab/mmdetection3d (github.com)
直接按照文档来就OK了,我主要是前面转化数据集没有改那个参数,导致我即便成功转成了pkl文件也一直在报错。debug也找不出问题所在(问题在文件里这谁能想到)