当前位置: 首页 > news >正文

BEVformer训练nusenes-mini数据集

github链接:https://github.com/fundamentalvision/BEVFormer

一、环境配置

在公司服务器上配置:ubuntu18.04, python-3.8, torch-0.9.1, cuda-11.1,

具体安装步骤如下:

# 1、创建虚拟环境
conda create -n BEV python=3.8 -y
conda activate BEV# 2、安装torch、torchvision
pip install torch==1.9.1+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html# 3、安装mmcv
pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html -i https://pypi.tuna.tsinghua.edu.cn/simple/# 4、安装mmdet和mmsegmentation
pip install mmdet==2.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install mmsegmentation==0.14.1  -i https://pypi.tuna.tsinghua.edu.cn/simple/# 5、源码安装mmdet3d
github下载:https://github.com/open-mmlab/mmdetection3d
注意,一定要下载0.17.0版本,其他版本不兼容。
然后解压:
cd mmdetection3d
python3 setup.py install# 6、安装 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  numpy==1.19.5 matplotlib==3.5.2 numba==0.48.0 pandas==1.4.4 scikit-image==0.19.3 setuptools==59.5.0
python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'

二、nusenes-mini数据集准备

nuscenes.org/downloadhttps://www.nuscenes.org/download1、登陆后下载CANBUS和V1.0-mini版本:

下载至BEVformer根目录的data文件夹后解压,按如下目录放置:

data
├── can_bus   ├──...
└── nuscenes├── maps├── samples├── sweeps└── v1.0-mini

2、生成训练需要的数据集格式:

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

会报如下错误:

ModuleNotFoundError: No module named “tools.data converter‘

解决方法:

在tools文件夹下添加一个空的__init__.py文件,原因:缺少__init__.py,无法把这个目录视为包含package的模块;另外,将create_data.py头文件引入部分中,data_converter前面的tools去掉。

运行后会在data/nuscenes/目录下生成2个 pkl 和 2 个 json 文件如下:

三、训练、测试

1、训练

采用bevformer-tiny训练,预训练权重可以提前下载,也可以训练时下载,提前下载的话,记得修改配置文件:projects/configs/bevformer_tiny.py

执行训练命令:

./tools/dist_train.sh ./projects/configs/bevformer/bevformer_tiny.py 1
或
./tools/fp16/dist_train.sh ./projects/configs/bevformer_fp16/bevformer_tiny_fp16.py 1

报错1:-bash: ./tools/dist_train.sh: 权限不够:

解决方法:tools和tools/fp16目录下执行:chmod u+x *.sh

报错2:TypeError: FormatCode() got an unexpected keyword argument ‘verify‘

解决方法:降低yapf版本至0.40.1,pip install yapf==0.40.1

然后即可训练:

训练5轮后的指标:

 训练后的指标含义解析,参考如下链接:

https://blog.csdn.net/wenquantongxin/article/details/143824403

2、测试并可视化

运行如下脚本检测:

./tools/dist_test.sh ./projects/configs/bevformer/bevformer_tiny.py work_dirs/bevformer_tiny/latest.pth 1

results_nusc.json为检测结果。

可视化:

# 修改1、
nusc = NuScenes(version='v1.0-trainval', dataroot='./data/nuscenes', verbose=True)
# 修改为:
nusc = NuScenes(version='v1.0-mini', dataroot='./data/nuscenes', verbose=True)# 修改2、
bevformer_results = mmcv.load('test/bevformer_base/Thu_Jun__9_16_22_37_2022/pts_bbox/results_nusc.json')
修改为自己的路径# 修改3、
注释下面两行代码if verbose:plt.show()# 修改4、
添加保存路径代码:# 添加result目录save_dir = "result"if not os.path.exists(save_dir):os.mkdir(save_dir)sample_token_list = list(bevformer_results['results'].keys())

之后运行:

python tools/analysis_tools/visual.py

训练5轮的模型预测效果图如下:

   

注释:

http://www.dtcms.com/a/391954.html

相关文章:

  • 《Unity3D NavMeshAgent与Rigidbody移动同步问题的技术拆解》
  • Psy Protocol 技术核心解读
  • PS练习3:使用变形将图片放到实际场景中
  • 在排序数组中查找元素的第一个和最后一个位置
  • 一条命令在ubuntu安装vscode
  • 【开题答辩全过程】以 ASP.NET抗疫物资管理系统为例,包含答辩的问题和答案
  • 探饭 - 字节跳动推出的AI美食推荐助手
  • ZCC5515_耐压9.5V ,超低静态功耗5uA,完全替代CS5515
  • 端脑云AI生图体验:从提示词到精美肖像
  • 临界处有一条看不见的河
  • JavaWeb--day8-- Mybatis(正式)
  • 基于WSL BES2710编译环境搭建方法
  • 模块化设计逻辑:太阳镜气流单元 / 耳机可拆卸结构的装配精度与兼容性分析
  • 半监督学习实战:如何用少量标注数据获得媲美全监督学习的性能?
  • 作业3(初学CSS)
  • CSS基础(总结)
  • 【信创云架构 PACS系统】全网首发-基于JDK17+Vue3全新开发的信创国产化系统
  • 若依vue项目里面,使用到oss,这个 是什么
  • Linux中的Ubuntu系统安装配置 MATLAB 开发环境、离线安装非root安装vscode
  • 网站单页应用(SPA)和多页应用(MPA)的区别
  • 10cm钢板矫平机:一副“钢铁脊椎”的矫正日记
  • Nano Banana (Gemini 2.5 Flash Image) 完整体验教程:一键生成你的专属 3D AI 手办
  • Qt水平布局:深入解析与优化技巧
  • 【vLLM 学习】Multilora Inference
  • 【硬件-笔试面试题-102】硬件/电子工程师,笔试面试题(知识点:RC滤波器的参数怎么计算)
  • 整体设计 语言拼凑/逻辑拆解/词典缝合 之 2 逻辑拆解(“你”) 决定逻辑描述列项的非真“自由”:自由选择/自由创新/自由意志(豆包助手)
  • 前端性能优化实用方案(四):DOM批处理减少80%重排重绘
  • 速通ACM省铜第九天 赋源码(Divine Tree)
  • win10程序(七)暴力xls转xlsx程序
  • PINN物理信息神经网络驱动的Burgers偏微分方程求解MATLAB代码