首页 > 其他分享 >BEVDet-Tiny复现Nuscenes-Mini数据集

BEVDet-Tiny复现Nuscenes-Mini数据集

时间:2024-10-27 20:58:44浏览次数:5  
标签:Mini -- py Tiny Nuscenes nuscenes FILE bevdet tools

论文地址:https://arxiv.org/abs/2112.11790
项目地址:https://github.com/HuangJunJie2017/BEVDet


在anaconda中创建虚拟环境并启动

conda create bevdet_ckpt python=3.7 -y

进入虚拟环境

conda activate bevdet_ckpt

阅读论文,想要复现BEVDet的Tiny版本,在原作者的Github最新branch分支中,./configs/bevdet下已经没有tiny的py文件了。查看另外5个brach发现,在checkpoint和master分支下还保留了tiny文件。

通过git进行clone为dev3.0的最新分支,所以通过zip下载。

https://github.com/HuangJunJie2017/BEVDet/archive/refs/heads/checkpoint.zip

解压后进入bevdet-checkpoint文件夹。

安装相关依赖

pip install -c pytorch pytorch torchvision -y
pip install mmcv-full==1.3.13
pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1
pip install -v -e .

进入nuscenes官网注册账号登陆后https://www.nuscenes.org/nuscenes#download下载mini数据集

将mini dataset下载后的v1.0-mini.tgz解压出来可得到名为v1.0-mini的文件夹,改名为nuscenes,并移动到项目根目录下的./data文件夹中;

Map expansion下载解压后将文件移动到nuscenes解压出来的Map文件夹中,作为地图扩展;

对nuscenes中的v1.0-mini复制一份并改名为v1.0-trainval

预处理nuscenes数据集

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

如果数据集不在data文件夹下,需要替换--root-path为相应文件路径,并且在后续训练测试时需要修改config文件。

直接开始训练

# single-gpu 
python tools/train.py ${CONFIG_FILE} [optional arguments]

# multi-gpu 
./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]

单gpu和多gpu分别使用上面的命令;本次复现通过单gpu进行测试:

python tools/train.py ./configs/bevdet/bevdet-sttiny.py

如果数据集并不在./data/nuscenes中,需要修改bevdet-sttiny.py中的相关代码为数据集路径:


运行后出现报错,查找相关解决方案:

通过运行pip install yapf==0.40.1解决,并重新进行训练,继续出现报错,查找相关解决方案:

通过运行pip install setuptools==59.5.0解决,并重新进行训练。

测试如下:

# single-gpu testing
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}] [--show] [--show-dir ${SHOW_DIR}]

# multi-gpu testing
./tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [--out ${RESULT_FILE}] [--eval ${EVAL_METRICS}]

使用单gpu进行测试:

python tools/test.py ./configs/bevdet/bevdet-sttiny.py work_dirs/bevdet-sstiny/latest.pth --eval mAP

测试结果

可视化:

因为checkpoint分支下的./tools/analysis_tools中没有vis.py文件,所以从别的分支中下载vis.py文件并移动至./tools/analysis_tools中。

https://github.com/HuangJunJie2017/BEVDet/raw/refs/heads/master/tools/analysis_tools/vis.py

可视化前需要得到json文件,所以重新运行:

python ./tools/test.py ./configs/bevdet/bevdet-sttiny.py work_dirs/bevdet-sttiny/latest.pth --format-only --eval-options jsonfile_prefix=$savepath

./pts_bbox中得到results_nusc.json

运行

python tools/analysis_tools/vis.py ./pts_bbox/results_nusc.json

在根目录下出现vis文件夹,里面为mp4视频文件

标签:Mini,--,py,Tiny,Nuscenes,nuscenes,FILE,bevdet,tools
From: https://www.cnblogs.com/giperx/p/18508954

相关文章

  • docker-minio启动参数
    完整命令 dockerrun-p9000:9000-p9090:9090-v/opt/minio/data:/data-d--name-d--restart=alwaysminio-e"MINIO_ACCESS_KEY=minio"-e"MINIO_SECRET_KEY=minio@admin123"minio/minioserver--console-address":9090"-address&q......
  • minio 多节点部署
    先决条件firewalld配置firewall-cmd--permanent--zone=public--add-port=9000/tcpfirewall-cmd--reload节点说明cat>>/etc/hosts<<EOF192.168.174.100minio-01192.168.174.101minio-02EOF挂载点mkdir-pv/data/disk1/miniomkdir-pv/data/disk2/mini......
  • nginx 代理 minio
    nginx.confupstreamminio_s3{least_conn;serverminio-01.internal-domain.com:9000;serverminio-02.internal-domain.com:9000;serverminio-03.internal-domain.com:9000;serverminio-04.internal-domain.com:9000;}upstreamminio_console{......
  • Minecraft 1.21.1游戏服务器运维笔记1:Ubuntu 18.04.6折腾Fabric配置及TinyRemapper、s
    摘要本文叙述了如何在Linux服务器上通过完全命令行交互的方式配置基于Minecraft1.21.1版本的Fabric服务器,交代了环境配置流程,以及服务端文件、模组文件的下载方法,给出了命令行操作方式以及完整的游戏启动脚本。目录摘要背景需求前瞻知识及材料准备准备工作环境配置操作系......
  • MinIO上传和下载文件及文件完整性校验.
    MinIO上传和下载文件及文件完整性校验.packagecom.xuecheng.media;importcom.j256.simplemagic.ContentInfo;importcom.j256.simplemagic.ContentInfoUtil;importio.minio.*;importio.minio.errors.*;importorg.apache.commons.codec.digest.DigestUtils;importorg......
  • miniqmt 函数分享-2. 执行过程跟踪和记录
    2.执行过程跟踪和记录函数介绍:Python日志配置和追踪模块,名为logger.py。它使用loguru库来实现日志记录,并提供了一个上下文管理器TraceContext用于追踪函数的执行。主要部分:TraceContext类:功能:用于追踪函数执行的上下文信息。generate_trace_id方法:......
  • 对象存储服务MinIO-快速入门-集成项目
    对象存储服务MinIOMinIO简介MinIO基于ApacheLicensev2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux,OSX和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。MinIO......
  • [题解]CF825E Minimal Labels
    LPhang为什么是神?思路显然可以想到一个错误的贪心:直接拓扑排序,每一次选择当前可以拓展的点中最小的元素进行编号。由于可能存在一个值较小的元素被藏在一个较大的元素后面,这种贪心就会出问题。出问题的本质原因就是我们希望字典序最小,就得使得越小的位置分配到更小的值。不妨......
  • 几行代码带你用TinyEngine低代码引擎开发侧边栏插件
    本文分享自华为云社区《实操上手TinyEngine低代码引擎插件化开发》,作者:OpenTiny。1.背景介绍1.1TinyEngine低代码引擎简介低代码开发是近些年非常热门的一种开发方式,用户可以通过可视化的方式,简单拖拽,不写代码或者编写少量代码,类似搭积木一样搭建业务应用。TinyEngine是一个......
  • Codeforces Round 979 (Div. 2) B. Minimise Oneness
    题目链接:题目大意:构造长度为nnn的01字符串,使得全为零的子序列和至少有一个1的子序列的数量之差的绝对值最小。思路:很明显,所有子序列中不是全为0就是至少有一个1,所以算......