BEVFormer代码运行笔记

news2024/12/23 10:58:03

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.coloradmin.cn/o/1513211.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++算法模板】图的存储-邻接矩阵

文章目录 邻接矩阵洛谷3643 图的存储 邻接矩阵 邻接矩阵相比于上一篇博客邻接表的讲解要简单得多 数据结构,如果将二维数组 g g g 定义为全局变量,那默认初始化应该为 0 0 0 ,如果题目中存在自环,可以做特判, m e …

300分钟吃透分布式缓存-28讲:如何构建一个高性能、易扩展的Redis集群?

Redis 集群的分布式方案主要有 3 种。分别是 Client 端分区方案,Proxy 分区方案,以及原生的 Redis Cluster 分区方案。 Client 端分区 Client 端分区方案就是由 Client 决定数据被存储到哪个 Redis 分片,或者由哪个 Redis 分片来获取数据。…

深度解析Kafka分区策略的精妙之处

欢迎来到我的博客,代码的世界里,每一行都是一个故事 深度解析Kafka分区策略的精妙之处 前言分区的基本概念1. Kafka 分区的定义:2. Kafka 分区的基本原理:3. 为何分区是 Kafka 消息传递的关键组成部分: 分区策略的选择…

数字化浪潮下的选择:ETU-LINK光模块写码板全新升级至400G

随着光模块市场的蓬勃发展,ETU研发团队致力于不断改进SFP编码工具,以满足日益增长的客户需求。经过不懈努力,我们成功推出了3.0版本的写码板,在硬件和软件方面都进行了全面升级,为用户带来了极大的便利。今天&#xff…

每日汇评:如果支撑位守住2145美元,黄金可能反弹至纪录高位

金价在周二因美国CPI数据火爆而暴跌后保持稳定; 美元和美债收益率在美元/日元下跌中暂停反弹; 随着美国CPI的出炉,市场焦点转向周四的零售销售和PPI数据; 金价在2160美元附近盘整,周二从2195美元的纪录高位回调约1%。由…

windows批处理脚本(cmd指令)

一、简介 最早期的电脑系统是DOS系统,DOS系统只有一个黑漆漆的窗口,需要自己输入命令,所以学习命令是很有必要的,那么CMD命令大全是什么?直到今天的Windows系统,还是离不开DOS命令的操作。如今懂得使用windows批处理脚…

C++ 作业 24/3/12

1、自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height),定义公有成员函数: 初始化函数:void init(int w, int h)更改宽度的函数:set_w(int w)更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <iostream>using …

TS271IDT运算放大器芯片中文资料PDF数据手册引脚图图片参数价格功能

产品描述&#xff1a; TS271 是一款低成本、低功耗的单通道运算放大器&#xff0c;设计用于采用单电源或双电源供电。该运算放大器采用意法半导体硅栅CMOS工艺&#xff0c;具有出色的消耗-速度比。该放大器非常适合低功耗应用。 电源可通过引脚 8 和 4 之间连接的电阻器进行外…

Kotlin 空类型,区间,数组

目录 1. 空类型 2. 区间 3. 数组 1. 空类型 我们知道任何一种数据类型都有为空或不为空两种状态&#xff0c;在 Kotlin 中&#xff0c;若允许一个数据为空&#xff0c;则需要使用 "?"&#xff0c;默认都不能为空。 代码举例说明 // 给 notNull赋值为空&#x…

硬件软件_驱动程序只有cat,inf,sys,怎么安装?

硬件软件_驱动程序只有cat&#xff0c;inf&#xff0c;sys&#xff0c;怎么安装&#xff1f; 右键点击inf文件 -》 安装 即可完成。

centos命令history设置记录10000行

今天在操作服务器的时候&#xff0c;用history查看操作记录的时候&#xff0c;发现只能查看10条&#xff0c;这样不行啊&#xff0c;我想查看所有人对服务器操作的命令。 [rootbogon ~]# history解决办法&#xff1a; #1、找到/etc/profile文件中的histsize 把10改成10000 […

pycharm 历史版本下载地址

pycharm 历史版本下载地址 老版本能用就行&#xff0c;不需要搞最新的&#xff0c;当然了&#xff0c;有些小伙伴就是喜欢新的&#xff08;最先吃螃蟹&#xff09; 博主就不搞最新了&#xff0c;哈哈 上菜&#xff1a; https://www.jetbrains.com/pycharm/download/other.html…

操作系统—自定义系统调用

文章目录 自定义系统调用1.实验基本环境(1).基本系统环境(2).选择替换WSL内核的起因(3).我尝试的改进措施 2.添加系统调用(1).系统调用位置(2).系统调用函数编写(3).添加系统调用号(4).添加编译参数并编译#1.一次极其失败的尝试#2.推倒重来 (5).尝试调用sys_mysyscall 3.后记参…

[译]Python 和 TOML:新最好的朋友 (2) 使用Python操作TOML

文章目录 Python 和 TOML&#xff1a;新最好的朋友使用Python加载TOML使用tomli 或 tomllib 读取TOML文档比较TOML类型和Python类型在项目中使用配置文件 将Python对象转换为TOML将字典转换为 TOML通过tomli_w 写TOML文档 创建新的TOML文件格式和样式用tomlkit 从头开始创建 TO…

创建springboot 2.x web空项目(IDEA)

由于学习时候发现spring官网只能创建springboot3.0的项目&#xff0c;而且不支持java1.8&#xff0c;无法选择java8作为java版本&#xff0c;导致很多教程无法跟着做&#xff0c;因此记录一下可行的创建过程。 &#xff08;Tips:当前spring Initializr不支持java8的解决方式&a…

在win11关闭copilot

在设置中的个性化设置&#xff0c;任务栏处关闭即可。 参考资料 How to disable Copilot in Windows 11

6种最佳的UI设计工具!

最好的UI设计工具可以适应几乎每一个设计过程&#xff0c;并有望满足您的创意需求。UI设计工具为设计师提供了高保真线框图、物理模型和原型所需的精确设计&#xff0c;并提供了最小限度的可行性产品。它们代表设计细节&#xff0c;传达设计功能。用户体验设计工具关注用户&…

C++作业day2

封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #include <iostre…

BM1684X搭建sophon c++环境

1:首先安装编译好sophon-sail 比特大陆BM1684X开发环境搭建--SOC mode-CSDN博客 2:在将之前配置的soc-sdk拷贝一份到sdk根目录&#xff0c;将交叉编译好的sail中的build_soc拷贝至soc-sdk文件夹内&#xff1b; cp -rf build_soc/sophon-sail/inlcude soc-sdk cp -rf build_soc…

测试用例实战(全网最详细-注册,登录,发布文章)

1.注册测试用例实战 需求图片如下&#xff1a; 注册测试点&#xff08;用等价类和边界值&#xff09; 重点提示&#xff1a; 正向&#xff1a;⼀次尽量覆盖多条 逆向&#xff1a;⼀次只能覆盖⼀条&#xff0c;其他选项必须正确。 注册测试用例 注意&#xff1a;注册的测试点…