使用mmdet3d复现bevfusion(mit)的一些记录

自己学习使用,用于记录,以防遗忘。(如有侵权,麻烦您联系我,我会立即删除!)

感谢大佬:

全网最菜的Slamer(基于mmdetection3d框架配置BEVFusion基于mmdetection3d框架配置BEVFusion_mmdet3d bev-CSDN博客),让我成功复现,对我收益匪浅!!

(本文内容借鉴上述转载文章,如有疑问请先看上面的文章)

1.环境准备

ubuntu22.04 +  cuda11.8 + pytorch 2.1.1 + rtx 4090

默认已安装cuda,如果你的显卡算力超过8.6,请务必安装11.4以上的cuda,部分算力架构如下图所示(可查询 CUDA GPUs - Compute Capability | NVIDIA Developer

基于这篇文章基于mmdetection3d框架配置BEVFusion_mmdet3d bev-CSDN博客我曾使用cuda11.1进行配置,最后训练的时候会出现下面的情况

我努力了很久,也没办法解决(包括修改setup.py中的算力架构等),故更换了cuda版本。想了解如何安装多版本cuda请移步我的另一篇文章ubuntu22.04多版本安装cuda及快速切换(cuda11.1和11.8)-CSDN博客

2.正式开始配置环境

#1.创建虚拟环境
conda create -n mmdet3d python=3.8

#1.1激活虚拟环境
conda activate mmdet3d

#2.安装pytorch v2.1.1
# CUDA 11.8
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118

#3.安装mmdetection3d
pip install openmim

#3.1下载v1.3.0的mmdet3d
git clone https://github.com/open-mmlab/mmdetection3d.git -b v1.3.0
cd mmdetection3d
mim install -v -e .

#4.安装 cumm-cuxxx spconv-cuxxx
pip install cumm-cu118
pip install spconv-cu118

#5.配置 mmdet3d中的BEVFusion(所在位置不要改变,./mmdetection3d/)
python projects/BEVFusion/setup.py develop

#6.安装其他依赖
pip install mmengine
pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.1/index.html
pip install mmdet==3.2.0

3.数据准备

nuscenes官网:nuScenes

3.1完整数据集下载:(US、Asia都可以)

map下载红线画出的部分

除mini下3.88g的文件不用下载,其余的全都要下载。

3.2完整数据集解压(目录结构)

下载后,进行解压,

我的数据集和代码不在一个盘里,以我的路径给大家介绍一下,以自己的实际情况为准。

新建disk_b/nuscenes,mmdet3d的代码在disk_a中

在nuscenes/下新建maps文件夹把nuScenes-map-expansion-v1.3.zip解压到里面。

其他直接用tar zxvf 文件名.tgz -C ./  解压到/nuscenes下即可

解压后结构如下:

nuscenes/
├── v1.0-trainval
├── v1.0-test
├── sweeps
├── samples
├── maps

3.3mini数据集的下载及使用

请大家参考全网最菜的Slamer 大佬写的 Fast-BEV代码复现实践_fastbev 复现-CSDN博客中的2.1节进行准备。我没有使用mini数据集。

3.4数据处理

##完整数据集处理
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes 

##mini数据集处理
python tools/create_data.py nuscenes --root-path ./data/nuscenes --version v1.0-mini --out-dir ./data/nuscenes --extra-tag nuscenes 

####上面的./data/nuscenes 用自己的实际数据集路径
####如果不是把数据集放在源代码文件里面,需修改以下路径为自己的实际路径
#1.projects/BEVFusion/configs/bevfusion_lidar_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-#3d.py 19行
#2.tools/dataset_converters/update_infos_to_v2.py  271行
#3.mmdet3d/configs/_base_/datasets/nus_3d.py  30行
#4.mmdet3d/configs/_base_/datasets/nus_mono3d.py 15行

处理后文件结构如下:

4.开始训练

#根据实际硬件情况在配置文件中修改max_epoche、batch_size、num_workers的参数

先训练lidar,再训练lidar+camera

#1.仅lidar训练代码
bash tools/dist_train.sh projects/BEVFusion/configs/bevfusion_lidar_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py 1

#2.lidar+camera训练代码
bash tools/dist_train.sh projects/BEVFusion/configs/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d.py 1 --cfg-options load_from=./lidar/epoch_20.pth model.img_backbone.init_cfg.checkpoint=./../swint-nuimages-pretrained.pth

训练结果保存在mmdetection3d/work_dirs下

5.测试

后续补充中!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值