BEVFormer代码运行笔记

1. 代码下载

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

2. 环境配置

使用conda创建环境

conda create -n open-mmlab python=3.8 -y

进入环境

conda activate open-mmlab

允许使用pip安装依赖库

export PIP_REQUIRE_VIRTUALENV=false

安装pytorch和torchvision

pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
# Recommended torch>=1.9

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

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

安装mmcv-full

pip install addict
pip install mmcv-full==1.4.0
#  pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html

安装mmdet和mmseg

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

Install mmdet3d from source code.

git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.17.1 # Other versions may not be compatible.
python setup.py install

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  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'

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/535053.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA - 单总线协议(one-wire)

1,简介 单总线(one-wire)是美国 DALLAS 公司推出的外围串行扩展总线技术,与 SPI、I2C 等串行数据通信方式不同,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的。它具有节省 I/O口…

如何使用ChatGPT辅助写论文、数据分析、AI绘图?【附学习资料】

原文链接:如何使用ChatGPT辅助写论文、数据分析、AI绘图?【附学习资料】https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247597452&idx1&sn8aa991235ffee89fc76590a90b9005d7&chksmfa823c6bcdf5b57df0cb02ecd1821921f38ea6de34c7…

案例--某站视频爬取

众所周知,某站的视频是: 由视频和音频分开的。 所以我们进行获取,需要分别获得它的音频和视频数据,然后进行音视频合并。 这么多年了,某站还是老样子,只要加个防盗链就能绕过。(防止403&#xf…

python调用clickhouse

(作者:陈玓玏) 使用clickhouse-driver包,先通过pip install clickhouse-driver安装包,再通过以下代码执行sql。 from clickhouse_driver import Client client Client(host10.43.234.214, port9000, userclickhou…

Pygame教程06:Event事件的类型+处理方法+监听鼠标事件

------------★Pygame系列教程★------------ Pygame教程01:初识pygame游戏模块 Pygame教程02:图片的加载缩放旋转显示操作 Pygame教程03:文本显示字体加载transform方法 Pygame教程04:draw方法绘制矩形、多边形、圆、椭圆、弧…

jenkins + gitea 自动化部署Docker项目(vue + .NET Core)

废话不多说,服务先安装好Jenkins 和 gitea 理论上 gitlab 一样的实现流程 Jenkins 配置: 第一步装插件 安装 Generic Event 安装 gitea 相关插件 创建一个任务 设置 git 根据自己git 的认证填写对应的认证方式 构建环境记得勾选这个,会清…

操作系统:进程控制(上)

目录 1.进程创建 1.1.fork()函数 1.2.写时拷贝 2.进程终止 2.1.进程的退出场景 2.1.1.退出码和错误码(正常终止&&任务失败) 2.1.2.异常终止 1.进程创建 1.1.fork()函数 在linux中,fork函数时非常重要的函数,它从已…

AI情报专刊来啦!《“AI换脸”威胁研究与安全策略》

目录 “AI换脸”常见的诈骗套路 1、伪造账号造谣传谣 2、冒充熟人进行诈骗 3、伪造身份申请银行贷款 4、“网络钓鱼”更加难以识别 5、冒充他人远程面试入职 6、冒名登录盗走银行余额 “AI换脸”的产业链 “AI换脸”使用到的技术 人脸识别和关键点检测 图像/视频合成技术 生成对…

大型文物三维扫描抄数服务3d建模造型设计逆向贴图等比例制作仿制

大型文物三维扫描数字化建模是一项前沿的技术,它运用高精度的扫描设备,将文物的三维形态精确地捕捉下来,再通过专业的建模软件,将这些数据转化为数字化的三维模型。这一技术的出现,不仅极大地提升了文物保护的效率和精…

打造你的HTML5打地鼠游戏:零基础入门教程

🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

使用Visual Studio创建跨平台CMake项目

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 创建跨平台项目的意义是什么? 跨平台CMake项目的意义在于提供一种统一的构建系统,使得开发者可以编写一份…

详细理解Transformer

上一篇文章中,我们解读了Transformer中的Self-Attention的实现细节,这篇文章中,就Transformer的整体做一个算法解读。 首先,我们还是把Transformer的架构图贴出来,作为本篇内容的抓手。 从图中我们可以看到&#xff0…