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,一经查实,立即删除!

相关文章

智能代理四大范式解析

Agent四大范式 在2024年红杉资本人工智能峰会上,著名的人工智能专家吴恩达发表了一场备受关注的演讲,深入探讨了智能代理(agent)的四大范式。这四大范式代表了当前AI技术在不同应用领域中的核心方法和实践,分别是反思(Reflection)、工具使用(Tool Use)、规划(Planni…

特征融合篇 | 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)工具,使用的…

20240520金融读报:旅游强国金融数据要素升级融资性贸易房地产政策变化

1、房地产政策变化&#xff1a;1&#xff09;刺激买方&#xff1a;降首付&#xff0c;公积金贷款利率下调0.25%&#xff0c;商贷贷款利率不设下限 2&#xff09;托底卖方&#xff1a;“白名单”贷款项目&#xff0c;覆盖项目建成交付的资金缺口 3&#xff09;增加卖方&#xff…

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…

鸿蒙应用开发系列 篇五:鸿蒙系统高级开发技术

文章目录 系列文章Web组件通知窗口管理网页图形库(WebGL)媒体安全访问控制用户认证其他网络与连接电话服务数据管理文件管理后台任务管理设备管理系列文章

mysql--数据库表的创建及基础命令

今日目标 表的创建 数据库的数据类型 表的约束 表结构的修改和调整 数据库的权限管理 单表的数据的CRUD sql的一些规范 SQL的分类 SQL脚本注意点 SQL的注释 ISO提出SQL官方注释&#xff1a; 1、多行注释 /* */ 2、当行注释 -- 注释 注意&#xff0c;空格是必不可少的…

微信小程序抓取数据包(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…

公共Mono模块笔记

一、公共Mono的主要作用 让不继承MonoBehaviour的脚本也能 1.利用帧更新或定时更新处理逻辑 2.利用协同程序处理逻辑 3.可以统一执行管理帧更新或定时更新相关逻辑(不管你是否继承MonoBehaviour) 二、基本原理 1.通过事件或委托 管理 相关更新函数&#xff08;如AddUpdateLis…

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

反激二极管也被称为续流二极管、缓冲二极管、抑制二极管、钳位二极管或换向二极管&#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;…

python报错ImportError: The _imagingft C module is not installed

前言 以下解决方案来自gpt&#xff0c;但亲测有效&#xff0c;uu们可放心食用 解决方法 ImportError: The _imagingft C module is not installed 错误通常表明你的Python环境中缺少用于处理图像字体的模块。这可能是由于Pillow&#xff08;PIL的分支&#xff09;库未正确安…

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

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

c语言如何向文件写入字符串

c语言里向文件写入字符串&#xff0c;用到fputs语句 fputs&#xff08;str,fp&#xff09;是将str字符数组里的内容写入到fp指针指向的文件 #include<stdio.h>int main() {FILE *fp;char s[100];fpfopen("ddd.txt","w");fputs("good time\n&q…