BEVfusion环境配置笔记

2023-11-04 01:59
文章标签 配置 笔记 环境 bevfusion

本文主要是介绍BEVfusion环境配置笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文文章:BEVFusion: Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation
论文代码:bevfusion

下载项目

原文推荐用nvidia docker,其实可以不用,直接:

cd home && git clone https://github.com/mit-han-lab/bevfusion && cd bevfusion
python setup.py develop

环境搭建

这个环境可能与新的mmdetection3d冲突,最好创建一个新的虚拟环境。
新环境不知道要下载什么,可以用sublime打开Dockerfile,对着来下载就可以了

注意:只用管pipconda就可以了。但是OpenMPI是不能用pipconda下载的,需要参考这篇文章下载

数据预处理

项目的数据预处理不能直接用mmdet3d处理好的,要用它自己tools/create_data.py重新处理一次。之前直接用mmdetection3d(版本v1.0.0rc4)处理好的数据来训练,直接报错
请添加图片描述
但是按照它的预处理代码来的话,还是会报错:

File "bevfusion/tools/data_converter/create_gt_database.py", line 275, in create_groundtruth_databaseimage_idx = example["sample_idx"]
KeyError: 'sample_idx'

这里参考了github上别人的帖子,在mmdet3d/datasets/nuscenes_dataset.py里面get_data_info函数的实现里头添加sample_idx=info['token']即可。见下图红框:

请添加图片描述

假如还有camera_intrinsics关键字错误的话,请参考github的帖子。
最后把数据集文件夹data/放在bevfusion/下面,可以创建软链接。

关于训练

这么下来之后,训练单模态应该是没问题的。参考了另外一篇文章(感谢这位老哥),它里面有多模态训练命令,但用的是自己写的单gpu训练文件。参考他的命令,得到了自己的多模态模型训练命令:

torchpack dist-run -np 1 python tools/train.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml --run-dir bev_result/

在运行的过程中会报错:
请添加图片描述
参考这个帖子里面作者说他们用的是spconv-1.2.0,如果下的是spconv 2.x版本的话会不行。建议在没有spconv 2.x的环境下重新编译:

python setup.py develop

这个方法对于我来说不行。后来我在里面看到有位老哥的方法,试了下成功了:
请添加图片描述
具体做法是:把mmdet3d/ops/spconv/src/indice_cuda.cu文件里面所有的4096改为256

我的CUDA是11.3,没有用docker。更改之后进行编译,最后代码跑通。

这篇关于BEVfusion环境配置笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342449

相关文章

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Spring中配置ContextLoaderListener方式

《Spring中配置ContextLoaderListener方式》:本文主要介绍Spring中配置ContextLoaderListener方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录Spring中配置ContextLoaderLishttp://www.chinasem.cntene

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.