MIT-BEVFusion训练环境安装以及问题解决记录

1. 基础环境

MIT的bevfusion训练代码对pytorch有要求,所以需要找到对应的CUDA版本,这里我安装的是11.3版本。

  • Linux(Ubuntu 18.04)
  • CUDA version:11.3

2. openmpi安装

下载安装openmpi,要不然会报mpi错误。

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
 
~/.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

测试安装是否成功:

cd openmpi-x.x.x/examples
make
mpirun -np 4 hello_c

3. python类环境安装

照抄就行,经过验证。如果你的cuda不是11.03,可以进入pytorch官网查询需要安装的torch版本。

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

# 2 激活虚拟环境
conda activate bevfusion

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge

pip install Pillow==8.4.0 tqdm torchpack nuscenes-devkit mpi4py==3.0.3 numba==0.48.0 setuptools==58.0.4 ninja==1.11.1 numpy==1.23.4 opencv-python==4.8.0.74 opencv-python-headless==4.8.0.74 yapf==0.40.1

# mmcv安装,注意cuda和torch版本号
# 可以进官网查询相应版本:https://mmcv.readthedocs.io/zh-cn/latest/get_started/installation.html#pip
pip install mmcv==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10/index.html
# 安装mmdet==2.20.0
pip install mmdet==2.20.0

4. 训练与评测

(1)数据预处理

#如果是正常版本,运行:
python tools/create_data.py nuscenes \
--root-path ./data/nuscenes \
--out-dir ./data/nuscenes \
--workers 16 \
--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

(2) 训练

torchpack dist-run -np 8 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 

成功后效果如下:

在这里插入图片描述

(3) 评测

torchpack dist-run -np 8 python tools/test.py \
configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml \
pretrained/bevfusion-det.pth \
--eval bbox

5. 报错及解决

(1)yapf版本问题

报错信息

TypeError: FormatCode() got an unexpected keyword argument ‘verify’

解决:yapf包的版本问题,降低为yapf==0.40.1

pip install yapf==0.40.1

(2)setuptools版本问题

报错信息

AttributeError: module ‘distutils’ has no attribute ‘version’

解决:setuptools版本过高导致

pip install setuptools==58.0.4

(3)spconv版本问题

报错信息

N > 0 assert faild. CUDA kernel launch blocks must be positive, but got N= 0

解决:setuptools版本过高导致

# cuda是10.2版本
pip install spconv-cu102
# cuda是11.3版本
pip install spconv-cu113

也可能是cuda与torch版本不匹配,需要进pytorch官网查询对应版本。

conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=11.3 -c pytorch -c conda-forge
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

非晚非晚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值