BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation复现

本文详细介绍了如何在Python环境中设置虚拟环境,安装PyTorch及其相关库,如torchvision和cudatoolkit,以及OpenMPI和MMCV等。步骤包括配置CUDA、安装其他依赖包、修改配置文件、下载源代码和数据集,最后进行多卡训练、数据预处理和模型测试/可视化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、创建虚拟环境

conda create -n BevFusion python=3.8
conda activate BevFusion

conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch

查看显卡:nvidia -smi

查看CUDA版本 nvcc -v

安装gpu版本的torch:pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 -f https://download.pytorch.org/whl/torch_stable.html

2、安装其它包

 安装mmcv-full:pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html

安装mmdet:pip install mmdet==2.20.0

conda install openmpi

conda install mpi4py

pip install Pillow==8.4.0

pip install tqdm

pip install torchpack

pip install nuscenes-devkit

pip install ninja
pip install numpy==1.19

pip install numba==0.48.0
pip install shapely==1.8.0

wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.4.tar.gz

cd openmpi-4.1.4

./configure --prefix=/usr/local/openmpi

编译:make -j8

安装:sudo make install

 3、更改配置文件

sudo gedit ~/.bashrc

把下面几句加入bashrc文件 

MPI_HOME=/usr/local/openmpi
OMPI_MCA_opal_cuda_support=true
export PATH=${MPI_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${MPI_HOME}/lib:$LD_LIBRARY_PATH
export MANPATH=${MPI_HOME}/share/man:$MANPATH

更新配置文件:soure ~/.bashrc

4、下载源代码

git clone https://github.com/mit-han-lab/bevfusion.git

现在git的版本是作者更新了

打开mmdet3d/ops/spconv/src/indice_cuda.cu,把4096改成256

打开根目录下的setup.py,保留"-gencode=arch=compute_86,code=sm_86"

 编译

cd bevfusion
python setup.py develop

 

 5、下载数据集

下载Map expansionv1.3,选Asia

 下载trainval,有三百个G左右,如果内存不够可以下载mini版本,选Asia版本

 下载test

 将下载好的数据集组织成以下格式:

 6、终端运行

数据预处理

cd bevfusion
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

 数据集处理成以下格式

mini版本

下载预训练权重

./tools/download_pretrained.sh

多卡训练,-np 2是指我在两块显卡上分布式训练,可以根据自己需要改

 torchpack dist-run -np 2 python tools/train.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml --model.encoders.camera.backbone.init_cfg.checkpoint pretrained/swint-nuimages-pretrained.pth --load_from pretrained/lidar-only-det.pth --run-dir output/bev_result/

# 多卡测试
 torchpack dist-run -np 2 python tools/test.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml pretrained/bevfusion-det.pth --eval bbox

 如果运行torchpack时,一直没有结果,不知道哪里报错,可以加上-v, torchpack dist-run -np 2 -v。pred是预测,gt是真实。

#可视化  

 torchpack dist-run -np 2 python tools/visualize.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml --checkpoint pretrained/bevfusion-det.pth --out-dir viz/fusion-det-pred --mode pred 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值