BEVFuison测试全过程记录

cuda版本10.1

pytorch:
根据cuda版本选择pytorch版本:

1. 创建conda虚拟环境:
conda create -y --name mmcv python=3.8
conda activate mmcv
2. 安装依赖库:

pytorch:

conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch

mmcv:

pip install -U openmim
mim install mmcv-full==1.4.0

mmdet:

mim install mmdet==2.20.0

mpi4py:

pip install mpi4py==3.0.3

pillow:

pip install pillow==8.4.0

tqdm:

pip install tqdm

torchpack:

pip install torchpack

nuscenes-devkit:

pip install nuscenes-devkit

安装Open MPI 4.0.4

  1. 官网下载openmpi-4.0.4.tar.gz
  2. 解压openmpi-4.0.4.tar.gz
cd openmpi-4.0.4
./configure --prefix=/usr/local CC=gcc CXX=g++ FC=gfortran
sudo make all install
  1. 查看是否安装成功
which mpirun
  1. 如果显示路径,如:/usr/local/bin/mpirun,则说明安装成功。
3. 安装BEVFusion
cd ../bevfusion
python setup.py develop

报错
nvcc fatal : Unsupported gpu architecture ‘compute_80’
ninja: build stopped: subcommand failed.
原因
我的显卡是RTX2060 算力是7.5,故不支持compute_80(算力8.0), compute_86(算力8.6)
解决办法
注释setup.py中的第24,25行,即:
#“-gencode=arch=compute_80,code=sm_80”,
#“-gencode=arch=compute_86,code=sm_86”,

重新执行:

python setup.py develop

Installed /home/zhkai/BEV/bevfusion
Processing dependencies for mmdet3d==0.0.0
Finished processing dependencies for mmdet3d==0.0.0

安装成功!

4.数据准备

参考:NuScenes Dataset for 3D Object Detection

cd ../mmdetection3d
python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes

报错

ImportError: libcudart.so.10.2: cannot open shared object file: No such file or directory

原因:mmcv1.6.2版本与cuda10.1不匹配

解决办法:重装mmcv

mim install mmcv-full==1.6.0

重新执行:

python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes

报错

======
Loading NuScenes tables for version v1.0-trainval...
23 category,
8 attribute,
4 visibility,
64386 instance,
12 sensor,
10200 calibrated_sensor,
2631083 ego_pose,
68 log,
850 scene,
34149 sample,
2631083 sample_data,
1166187 sample_annotation,
4 map,
Done loading in 37.483 seconds.
======
Reverse indexing ...
Done reverse indexing in 8.1 seconds.
======
total scene num: 850
exist scene num: 850
train scene: 700, val scene: 150
[>>>>                     ] 6743/34149, 14.6 task/s, elapsed: 461s, ETA:  1875sTraceback (most recent call last):File "tools/create_data.py", line 250, in <module>nuscenes_data_prep(File "tools/create_data.py", line 74, in nuscenes_data_prepnuscenes_converter.create_nuscenes_infos(
...
FileNotFoundError: file "./data/nuscenes/samples/LIDAR_TOP/n008-2018-07-27-12-07-38-0400__LIDAR_TOP__1532707811049131.pcd.bin" does not exist

原因:我只下载了trainval01、trainval02的数据,不是完整的训练数据

修改代码
参考:https://blog.csdn.net/weixin_38362784/article/details/111397440

文件:mmdetection3d/tools/data_converter/nuscenes_converter.py第167行
函数:_fill_trainval_infos

# for sample in mmcv.track_iter_progress(nusc.sample):
for sample in mmcv.track_iter_progress(nusc.sample[0:6743]):

这里为什么是6743
这只是我自己的推测,因为从上一步的报错内容可知,nusc.sample是索引到6743的时候报错的。

重新执行:

python tools/create_data.py nuscenes --root-path ./data/nuscenes --out-dir ./data/nuscenes --extra-tag nuscenes
======
Loading NuScenes tables for version v1.0-trainval...
23 category,
8 attribute,
4 visibility,
64386 instance,
12 sensor,
10200 calibrated_sensor,
2631083 ego_pose,
68 log,
850 scene,
34149 sample,
2631083 sample_data,
1166187 sample_annotation,
4 map,
Done loading in 37.468 seconds.
======
Reverse indexing ...
Done reverse indexing in 8.4 seconds.
======
total scene num: 850
exist scene num: 850
train scene: 700, val scene: 150
[>>>>>>>>>>>>>>>>>>>>>>>>>>] 6743/6743, 14.6 task/s, elapsed: 461s, ETA:     0s
train sample: 5512, val sample: 1231
======
Loading NuScenes tables for version v1.0-trainval...
23 category,
8 attribute,
4 visibility,
64386 instance,
12 sensor,
10200 calibrated_sensor,
2631083 ego_pose,
68 log,
850 scene,
34149 sample,
2631083 sample_data,
1166187 sample_annotation,
4 map,
Done loading in 39.969 seconds.
======
Reverse indexing ...
Done reverse indexing in 8.4 seconds.
======
[>>>>>>>>>>>>>>>>>>>>>>>>>>] 5512/5512, 4.8 task/s, elapsed: 1149s, ETA:     0s
======
Loading NuScenes tables for version v1.0-trainval...
23 category,
8 attribute,
4 visibility,
64386 instance,
12 sensor,
10200 calibrated_sensor,
2631083 ego_pose,
68 log,
850 scene,
34149 sample,
2631083 sample_data,
1166187 sample_annotation,
4 map,
Done loading in 41.562 seconds.
======
Reverse indexing ...
Done reverse indexing in 8.1 seconds.
======
[>>>>>>>>>>>>>>>>>>>>>>>>>>>] 1231/1231, 4.2 task/s, elapsed: 292s, ETA:     0s
Create GT Database of NuScenesDataset
[>>>>>>>>>>>>>>>>>>>>>>>>>>>] 5512/5512, 5.9 task/s, elapsed: 934s, ETA:     0s
load 12323 truck database infos
load 30252 pedestrian database infos
load 58001 car database infos
load 535 movable_object.debris database infos
load 9545 traffic_cone database infos
load 2365 motorcycle database infos
load 252 static_object.bicycle_rack database infos
load 509 movable_object.pushable_pullable database infos
load 11 vehicle.emergency.ambulance database infos
load 2610 construction_vehicle database infos
load 4037 trailer database infos
load 20002 barrier database infos
load 1963 bicycle database infos
load 1713 bus database infos
load 84 vehicle.emergency.police database infos
load 43 human.pedestrian.stroller database infos
load 149 animal database infos
load 12 human.pedestrian.wheelchair database infos
load 9 human.pedestrian.personal_mobility database infos
======
Loading NuScenes tables for version v1.0-test...
23 category,
8 attribute,
4 visibility,
0 instance,
12 sensor,
1800 calibrated_sensor,
462901 ego_pose,
15 log,
150 scene,
6008 sample,
462901 sample_data,
0 sample_annotation,
4 map,
Done loading in 8.141 seconds.
======
Reverse indexing ...
Done reverse indexing in 1.0 seconds.
======
total scene num: 150
exist scene num: 150
test scene: 150
[>>>>>>>>>>>>>>>>>>>>>>>>>>] 6008/6008, 328.9 task/s, elapsed: 18s, ETA:     0s
test sample: 6008
======
Loading NuScenes tables for version v1.0-test...
23 category,
8 attribute,
4 visibility,
0 instance,
12 sensor,
1800 calibrated_sensor,
462901 ego_pose,
15 log,
150 scene,
6008 sample,
462901 sample_data,
0 sample_annotation,
4 map,
Done loading in 5.318 seconds.
======
Reverse indexing ...
Done reverse indexing in 0.9 seconds.
======
[>>>>>>>>>>>>>>>>>>>>>>>>>>>] 6008/6008, 9.9 task/s, elapsed: 609s, ETA:     0s

成功!

5. Evaluation
  1. 下载预训练模型
./tools/download_pretrained.sh

在这里插入图片描述

  1. Then, you will be able to run:
    参考:https://github.com/mit-han-lab/bevfusion

如果是单颗GPU,那就得对tools/test.py的做一定的修改:

#注释掉dist.init()
# dist.init()#修改torch.cuda.set_device
# torch.cuda.set_device(dist.local_rank())torch.cuda.set_device(0)#修改distributed
# distributed = Truedistributed = False

然后执行,例如:

python tools/test.py configs/nuscenes/seg/fusion-bev256d2-lss.yaml pretrained/bevfusion-seg.pth --eval map
6. Training

To be continued…

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

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

相关文章

特征融合篇 | YOLOv8改进之引入轻量级跨尺度特征融合模块CCFM | 源自RT-DETR

前言:Hello大家好,我是小哥谈。CCFM(Cross-Scale Feature Fusion Module)即为跨尺度特征融合模块。这个模块的作用是将不同尺度的特征通过融合操作整合起来,以增强模型对于尺度变化的适应性和对小尺度对象的检测能力。CCFM可以有效地整合细节特征和上下文信息,从而提高模…

2024定制版抢单支付系统源码(开代理自动抢单接单)

随着网络和移动支付技术的不断进步&#xff0c;抢单支付系统已经成为商家和用户进行交易的便利工具。2024定制版抢单支付系统源码为开发者提供了一个可定制化的解决方案&#xff0c;具备开放代理和自动抢单接单功能&#xff0c;帮助用户快速搭建抢单支付平台。本文将为您介绍这…

专题汇编 | ChatGPT引领AIGC新浪潮(一)

ChatGPT的产生与迭代 2022年11月末,美国人工智能研究实验室OpenAI推出ChatGPT。上线的ChatGPT只用了2个月,活跃用户数就突破了1亿,创造了应用增速最快的纪录。 ChatGPT是什么 ChatGPT是一种人工智能技术驱动的自然语言处理(Natural Language Processing,NLP)工具,使用的…

RS8751XF功能和参数介绍及PDF资料

以下是关于RS8751XF的功能和参数的介绍&#xff1a; 功能描述: 高速、宽带单通道运算放大器 轨到轨输入和输出&#xff0c;确保较大的动态范围 极高的增益带宽乘积&#xff08;GBW&#xff09;&#xff1a;250 MHz&#xff0c;适合高频应用 极高的压摆率&#xff08;SR&#xf…

MySQL的ODBC驱动下载、安装以及配置数据源

下载地址&#xff1a;odbc官方下载地址 MySQL :: Download Connector/ODBC 下载安装ODBC驱动 配置MySQL ODBC 数据源 进入控制面板->系统和安全->Windows工具 Data Source Name填写需要生成的ODBC数据源的名称。Description选填。如果使用远程数据库服务器&a…

微信小程序抓取数据包(Proxifier联动burpsuite)

1、打开bp&#xff0c;确保开启127.0.0.1&#xff1a;8080监听地址。 2、点击setting--proxy&#xff0c;点击impor CA certificate&#xff0c;生成bp的证书。 保存到桌面为1.cer&#xff0c;文件后缀为cer就OK了&#xff0c;前缀任意 3、安装证书&#xff0c;双击打开刚刚生成…

BERT系列算法解读

1.bert训练的方法 为了训练BERT模型&#xff0c;主要采用了两种方法&#xff1a;掩码语言模型&#xff08;Masked Language Model, MLM&#xff09;和下一个句子预测&#xff08;Next Sentence Prediction, NSP&#xff09;。 方法一&#xff1a;掩码语言模型&#xff08;Mask…

优化电源设计:反激二极管选择与注意事项

反激二极管也被称为续流二极管、缓冲二极管、抑制二极管、钳位二极管或换向二极管&#xff0c;是一种电子元件&#xff0c;通常应用在开关电源和其他涉及电感性负载的电路中。它的主要功能是保护电路&#xff0c;防止感性负载在开关断开时产生的反激电压&#xff08;或反电动势…

DOS学习-目录与文件应用操作经典案例-xcopy

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一.前言 二.使用 三.案例 一.前言 xcopy命令是DOS系统中一个强大的文件和目录复制工具&…

MySQL——表的约束

表约束 一、概念 ​ 表中一定要有各种约束&#xff0c;通过各种约束使得未来插入到数据库中的数据是合法的&#xff0c;在语法上是没有问题的&#xff1b; ​ 约束本质就是通过技术手段&#xff0c;倒逼着程序员插入正确的数据&#xff0c;换句话说就是&#xff0c;插入进来…

6个精品免费wordpress模板下载

要找到视觉效果非常出色的WordPress模板&#xff0c;我们可以从多个角度来考虑。根据《Smashing WordPress Themes: Making WordPress Beautiful》一书&#xff0c;WordPress不仅仅是一个博客平台&#xff0c;它还能被用来创建各种风格的网站&#xff0c;从企业网站到摄影画廊等…

洗地机哪个牌子好?全面评测多款口碑洗地机

洗地机的出现&#xff0c;让人们摆脱了每天打扫卫生的繁琐&#xff0c;因为它只需轻轻一推&#xff0c;就能把扫地、拖地、擦地的活全做了&#xff0c;干垃圾湿垃圾统统都能一次清理干净&#xff0c;操作简单&#xff0c;更轻松。本文主要分享一些挑选洗地机的技巧&#xff0c;…

大数据运维学习笔记之Ambari——筑梦之路

原则&#xff1a;分布式存储和分布式计算分开 今天就到这里啦。

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 17 节&#xff09; P17《16.Ark-状态管理Prop Link Provide Consume》 将上一节写出的代码进行功能模块封装&#xff1a;1、任务…

一个通过ADC采集NTC热敏电阻的温度传感器

前言: 如何设计一个电路,使用具有逐次逼近寄存器(SAR)模数转换器(ADC)的热敏电阻直接监测温度呢?温度传感电路需要使用负温度系数(NTC)热敏电阻与电阻器串联形成分压器,监测-25C至100C的温度范围。分压器具有产生与监测的温度成反比的输出电压的效果。电阻器分压器的…

如何彻底搞懂迭代器(Iterator)设计模式?

说起迭代器&#xff08;Iterator&#xff09;&#xff0c;相信你并不会陌生&#xff0c;因为我们几乎每天都在使用JDK中自带的各种迭代器。那么&#xff0c;这些迭代器是如何构建出来的呢&#xff1f;就需要用到了今天内容要介绍的迭代器设计模式。在日常开发过程中&#xff0c…

查找效率满分的算法—— “二分查找” 算法 (Java版)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

深入了解Nginx(一):Nginx核心原理

一、Nginx核心原理 本节为大家介绍Nginx的核心原理,包含Reactor模型、Nginx的模块化设计、Nginx的请求处理阶段. &#xff08;本文源自微博客,且已获得授权&#xff09; 1.1、Reactor模型 Nginx对高并发IO的处理使用了Reactor事件驱动模型。Reactor模型的基本组件包含时间收集…

使用xsd验证xml格式的正确性

1.1 基础知识介绍 XML简介&#xff1a;XML是可扩展标记语言&#xff08;eXtensible Markup Language&#xff09;的缩写&#xff0c;它是一种数据表示格式&#xff0c;可以描述非常复杂的数据结构&#xff0c;常用于传输和存储数据。xml文件、xml消息。XSD简介&#xff1a;是X…

LabVIEW和ZigBee无线温湿度监测

LabVIEW和ZigBee无线温湿度监测 随着物联网技术的迅速发展&#xff0c;温湿度数据的远程无线监测在农业大棚、仓库和其他需环境控制的场所变得日益重要。开发了一种基于LabVIEW和ZigBee技术的多区域无线温湿度监测系统。系统通过DHT11传感器收集温湿度数据&#xff0c;利用Zig…