BEVFormer 代码运行笔记
2026/7/10 13:46:40 网站建设 项目流程

1. 代码下载

git clone https://github.com/fundamentalvision/BEVFormer.git

2. 环境配置

使用conda创建环境

conda create -n bevformer python=3.8 -y

进入环境

conda activate bevformer

允许使用pip安装依赖库

export PIP_REQUIRE_VIRTUALENV=false

安装pytorch和torchvision

注意:根据你的cuda版本选择相应的版本,并注意它们之间的版本依赖关系。此处的例子适合cuda 11.3或11.4:

pip install torch==1.10.0+cu113 torchvision==0.11.0+cu113 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html

Install gcc>=5 in conda env (optional).

conda install -c omgarcia gcc-6 # gcc-6.2

安装mmcv-full

pip install mmcv-full==1.4.0

安装mmdet和mmseg

pip install mmdet==2.14.0 pip install mmsegmentation==0.14.1

安装mmdet3d的依赖库

pip install ninja tensorboard==2.13.0 nuscenes-devkit==1.1.10 scikit-image==0.19.0 lyft-dataset-sdk==0.0.8 pip install numpy==1.19.5 pandas==1.4.4 llvmlite==0.31.0 setuptools==59.5.0

安装mmdet3d

git clone https://github.com/open-mmlab/mmdetection3d.git cd mmdetection3d git checkout v0.17.1 # Other versions may not be compatible. pip install -r requirements.txt pip install .

安装Detectron2 and Timm.

pip install einops fvcore seaborn iopath==0.1.9 timm==0.6.13 typing-extensions==4.5.0 pylint ipython==8.12 numba==0.48.0 scikit-image==0.19.3 yapf==0.40.1 git clone https://github.com/facebookresearch/detectron2.git cd detectron2 pip install .

3. 准备数据

3.1. 下载数据

下载地址 https://www.nuscenes.org/download

从这里点击下载

3.1.1. 下载Mini数据

需要下载Mini, Test和can_bus,得到如下文件

v1.0-mini.tgz

v1.0-test_blobs.tgz

v1.0-test_meta.tgz

can_bus.zip

3.1.2. 下载全量数据

需要下载TrainVal, Test和can_bus,得到如下文件

v1.0-trainval01_blobs.tgz
v1.0-trainval02_blobs.tgz
v1.0-trainval03_blobs.tgz
v1.0-trainval04_blobs.tgz
v1.0-trainval05_blobs.tgz
v1.0-trainval06_blobs.tgz
v1.0-trainval07_blobs.tgz
v1.0-trainval08_blobs.tgz
v1.0-trainval09_blobs.tgz
v1.0-trainval10_blobs.tgz
v1.0-trainval_meta.tgz

v1.0-test_blobs.tgz

v1.0-test_meta.tgz

can_bus.zip

3.2. 组织数据

3.2.1. 组织Mini数据

把Mini的压缩包都放在同一个目录,例如名为v1.0-mini,然后解压,解压的时候会有一些目录合并。

把v1.0-mini改名为v1.0-trainval,这样得到的目录是

maps

samples

sweeps

v1.0-test

v1.0-trainval

can_bus

3.2.2. 组织全量数据

把全量的压缩包都放在同一个目录,例如名为v1.0-full,然后解压,解压的时候会有一些目录合并。

maps

samples

sweeps

v1.0-test

v1.0-trainval

can_bus

3.3. 预处理数据

python tools/create_data.py nuscenes --root-path [your path]/v1.0-mini/ --out-dir [your path]/v1.0-mini/ --extra-tag nuscenes --version v1.0 --canbus [your path]

4. 训练

打开文件projects/configs/bevformer/bevformer_base.py,修改data_root.

./tools/dist_train.sh ./projects/configs/bevformer/bevformer_base.py 8

没有改变其它参数,即:

samples_per_gpu=1 workers_per_gpu=4

显存占用情况如下:

5. 评测

./tools/dist_test.sh ./projects/configs/bevformer/bevformer_base.py ./path/to/ckpts.pth 8

参考文献

https://github.com/fundamentalvision/BEVFormer/blob/master/docs/install.md

https://github.com/fundamentalvision/BEVFormer/blob/master/docs/getting_started.md

BEVFormer环境配置_bevformer 环境配置和测试-CSDN博客

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询