BEVFusion(MIT)

服务器平台: autodl 

cuda: 11.1

torch: 10.1

python: 3.8.0

使用nuScenes-mini

(1)首先拷贝文件,再解压
cp /root/autodl-pub/nuScenes/Fulldatasetv1.0/Mini/v1.0-mini.tgz  /root/autodl-tmp

tar zxvf /root/autodl-tmp/v1.0-mini.tgz -C /root/autodl-tmp/bevfusion/data
#正常版本,结构如下:
bevfusion-mit
├── tools
├── configs
├── data
│   ├── nuscenes
│   │   ├── maps
│   │   ├── samples
│   │   ├── sweeps
│   │   ├── lidarseg (optional)
│   │   ├── v1.0-test
|   |   ├── v1.0-trainval
 
 
#如果下载的是mini版本,结构如下:
bevfusion-mit
├── tools
├── configs
├── data
│   ├── nuscenes
│   │   ├── maps
│   │   ├── samples
│   │   ├── sweeps
│   │   ├── v1.0-mini
(2)执行结果如下:

(3)运行数据转换的脚本(注意该命令需要再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

结果如下 

#正常版本:
├── data
│   ├── nuscenes
│   │   ├── maps
│   │   ├── samples
│   │   ├── sweeps
│   │   ├── lidarseg (optional)
│   │   ├── v1.0-test
|   |   ├── v1.0-trainval
│   │   ├── nuscenes_database
│   │   ├── nuscenes_infos_train.pkl
│   │   ├── nuscenes_infos_val.pkl
│   │   ├── nuscenes_infos_test.pkl
│   │   ├── nuscenes_dbinfos_train.pkl
 
#mini版本
├── data
│   ├── nuscenes
│   │   ├── maps
│   │   ├── samples
│   │   ├── sweeps
│   │   ├── v1.0-mini
│   │   ├── nuscenes_database
│   │   ├── nuscenes_infos_train.pkl
│   │   ├── nuscenes_infos_val.pkl
│   │   ├── nuscenes_dbinfos_train.pkl

下载预训练权重

./tools/download_pretrained.sh

 结果:

执行该命令可能会出现

./tools/download_pretrained.sh



--2023-12-26 10:24:00--  https://bevfusion.mit.edu/files/pretrained_updated/bevfusion-det.pth
Resolving bevfusion.mit.edu (bevfusion.mit.edu)... 18.25.16.171
Connecting to bevfusion.mit.edu (bevfusion.mit.edu)|18.25.16.171|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://hanlab.mit.edu/projects/bevfusion/files/pretrained_updated/bevfusion-det.pth [following]
--2023-12-26 10:24:01--  http://hanlab.mit.edu/projects/bevfusion/files/pretrained_updated/bevfusion-det.pth
Resolving hanlab.mit.edu (hanlab.mit.edu)... 52.197.0.54, 54.178.223.218, 52.199.221.217
Connecting to hanlab.mit.edu (hanlab.mit.edu)|52.197.0.54|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://hanlab.mit.edu/projects/bevfusion/files/pretrained_updated/bevfusion-det.pth [following]
--2023-12-26 10:24:02--  https://hanlab.mit.edu/projects/bevfusion/files/pretrained_updated/bevfusion-det.pth
Connecting to hanlab.mit.edu (hanlab.mit.edu)|52.197.0.54|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-12-26 10:24:04 ERROR 404: Not Found.

按照如下方法,将其全部进行修改。 

训练

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

测试

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

# customer
torchpack dist-run -np 1 python tools/test.py train_result/configs.yaml train_result/latest.pth --eval bbox --out box.pkl

可视化

# pretrained
torchpack dist-run -np 1 python tools/visualize.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml --mode pred --checkpoint pretrained/bevfusion-det.pth --bbox-score 0.2 --out-dir vis_result

# customer
torchpack dist-run -np 1 python tools/visualize.py
train_result/configs.yaml --mode gt --checkpoint train_result/latest.pth --bbox-score 0.2 --out-dir vis_result

### 复现 BEVFusion-MIT 项目教程 #### 安装依赖库 为了成功复现BEVFusion(MIT),首先需要准备合适的开发环境。确保Python版本不低于3.7,并安装必要的依赖包,如PyTorch、CUDA等。具体来说,可以参照官方文档来设置虚拟环境并安装所需软件包[^2]。 ```bash conda create -n bevf python=3.8 conda activate bevf pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 pip install -r requirements.txt ``` #### 下载源码与预训练模型 获取最新的BEVFusion仓库代码至关重要。通过Git克隆最新版的GitHub存储库至本地计算机上。此外,还需下载对应的预训练权重文件以便后续测试验证效果。 ```bash git clone git@github.com:MIT-AI-Accelerator/bevfusion.git cd bevfusion wget http://path_to_pretrained_model/model.pth ``` #### 数据集配置 根据实际需求调整数据路径和其他超参数设定。通常情况下,Waymo Open Dataset作为默认的数据来源被广泛应用于此类多模态感知任务的研究当中。因此,在`configs/dataset_config.py`中指定相应的目录位置即可完成初步配置工作。 #### 训练过程启动 一切准备工作完成后,便可以通过运行脚本来触发整个网络架构的学习流程。这里提供了一个简单的命令行实例用于执行单节点上的分布式训练操作。注意替换`${NUM_GPUS}`变量为你所拥有的GPU数量。 ```bash PYTHONPATH=. \ python -m torch.distributed.launch --nproc_per_node=${NUM_GPUS} tools/train_net.py \ --config-file configs/baseline.yaml \ OUTPUT_DIR ./output/ ``` #### 测试评估性能 当训练结束后,可调用内置工具来进行推理预测及定量分析。下面给出了一条指令用来加载保存下来的checkpoint并对验证集合做出评价报告。 ```bash PYTHONPATH=. \ python tools/test_net.py \ --config-file configs/baseline.yaml \ MODEL.WEIGHTS output/checkpoint_best.pth \ TEST.EVAL_PERIOD 0 ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值