服务器平台: 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