MMDetection3D学习笔记一:环境搭建

文章目录

    • 1 简介
    • 2 最佳环境安装实践
      • 2.1 配置conda环境
      • 2.2 安装相关依赖
      • 2.3 安装mmdet3d
      • 2.4 验证
    • 3 通过 Docker 使用 MMDetection3D

1 简介

更推荐直接参考学习官方文档以及官方GitHub仓库,其所包含的内容最全面权威。

MMDetection3D是一个基于PyTorch的开源对象检测工具箱,专门用于处理3D场景中检测和分割任务,属于OpenMMLab项目的一部分。可以基于MMDetection3D实现基于点云、图像多模态数据的3D检测与分割。

目前MMDetection3D已经支持数十种不同的算法及多个主流数据集,每个算法都提供了多个SOTA的预训练模型,可以直接使用这些预训练模型实现推理。可以参考模型库和数据集。


2 最佳环境安装实践

mmdet3d共有4个依赖,分别是MMCV(基础库)、MMDet(检测)、MMSeg(分割)、MMEngine(基础库)。

2.1 配置conda环境

conda create --name mmdet3d python=3.8 -y
conda activate mmdet3d
# 根据自己的cuda版本安装合适的torch,参考pytorch.org
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121

2.2 安装相关依赖

pip install -U openmim #mim包管理工具
mim install mmengine
mim install 'mmcv>=2.0.0rc4'
mim install 'mmdet>=3.0.0'
pip install "mmsegmentation>=1.0.0" #如果不做分割,也可以先不装mmsegmentation

note: MMEngine和MMCV也可以直接使用pip安装。但注意,如果想要使用 pip 而不是 MIM 安装 MMCV,请参考Installation — mmcv 2.2.0 文档,这需要用指定 url 的形式手动指定对应的 PyTorch 和 CUDA 版本。安装MMCV之前最好看一下版本对应关系。如果要装早期版本的mmdet也可以使用pip。

2.3 安装mmdet3d

  • 方案a(建议)

    如果您开发并直接运行 mmdet3d,从源码安装它:

    git clone https://github.com/open-mmlab/mmdetection3d.git -b dev-1.x
    # "-b dev-1.x" 表示切换到 `dev-1.x` 分支。
    cd mmdetection3d
    pip install -v -e .
    # "-v" 指详细说明,或更多的输出
    # "-e" 表示在可编辑模式下安装项目,因此对代码所做的任何本地修改都会生效,从而无需重新安装。
    
  • 方案b

    如果您将 mmdet3d 作为依赖或第三方 Python 包使用,使用 MIM 安装:

    mim install "mmdet3d>=1.1.0rc0"
    

2.4 验证

python
>>>import mmdet3d
>>>print(mmdet3d.__version__)
# 打印出mmdet3d的版本号即安装成功

3 通过 Docker 使用 MMDetection3D

官方提供了 Dockerfile 来构建一个镜像。请确保 docker 版本 >= 19.03。

# 基于 PyTorch 1.9,CUDA 11.1 构建镜像
# 如果您想要其他版本,只需要修改 Dockerfile
docker build -t mmdetection3d docker/

以下命令运行 Docker 镜像:

docker run --gpus all --shm-size=8g -it -v {DATA_DIR}:/mmdetection3d/data mmdetection3d

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

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

相关文章

前端可观测性系统建设

一. 背景 随着前端业务的日趋庞大,及时发现和解决业务中的问题、优化用户体验、实时监控业务健康度变得愈发重要。在业务层面,我们希望能够监控每次发布版本后,核心功能是否有显著提升或至少没有负面影响,核心接口是否正常运作&a…

鸿蒙原生App开发之:套用混合app开发思路

2024年,似乎华为迎来了新的企业机遇--鸿蒙独立操作系统。 受到全球国际形势的影响,加之第四次科技革命(AI革命)冷不丁的出现,在他国AI技术领先的前提下,中国自主研发的独立操作系统再次提上新的战略高度。…

网站的用户留言信息有什么意义

用户在网站上面留言一般都是因为反馈问题或者有什么需求,网站可以通过收集这些用户的留言更够够好的不断优化网站服务用户需求,也可以通过这种方式加强平台与用户的友好关系,有些好心的用户突然发现网站有什么问题,发现哪里不对了…

机器阅读理解技术在电网检修问答系统中的应用与创新

在当今快速发展的人工智能领域,机器阅读理解技术正逐渐成为提升行业工作效率的关键因素。本文将探讨思通数科大模型中的检修问答系统,这一系统通过先进的机器阅读理解技术,优化了电网维修工作的流程和效率。 一、机器阅读理解技术概述 机器…

构建高并发Web应用:基于Gunicorn、Flask和Docker的部署指南

目录 一 理解基础组件 什么是Flask? 什么是Gunicorn? 什么是Docker? 二 环境准备 三 构建Flask应用 创建项目结构 编写Flask应用 app/views.py 四 使用Gunicorn部署Flask应用 配置Gunicorn Gunicorn配置文件 五 使用Docker进行容器化部署 编写Dockerfile 构建…

【C++11】深入剖析lambda仿函数的原理,自己动手实现std::function容器

文章目录 参考 参考 【C11】深入剖析lambda仿函数的原理,自己动手实现std::function容器实现自定义的Function

UDS诊断、ECU刷写、OTA升级、Tbox测试、CANoe实操

每天的直播时间: 周一至周五:20:00-23:00 周六与周日:9:00-12:00,14:00-17:00 TBOX 深圳 涉及过T-BOX测试吗Ota升级涉及的台架环境是什么样的?上…

高通Android 12/13 Launcher3修改RecentView与屏幕方向保持一致

1、背景: 最近同事遇到一个需求说,recentview应用预览与屏幕方向不一致问题,于是加了一些系统日志,实现此需求。简单记录下哈。 源码修改路径汇总如下 packages/apps/Launcher3/quickstep/src/com/android/quickstep/util/Recen…

lua手动绑定c++函数使用luaL_checkudata 和 luaL_newmetatable 联动

luaL_checkudata 用法 luaL_checkudata 和 luaL_newmetatable 是联动的。luaL_newmetatable 用于创建和注册一个元表,而 luaL_checkudata 用于从 Lua 栈中获取用户数据并确保其元表与预期的元表名称匹配。下面我们详细解释两者如何联动工作。 luaL_newmetatable …

2024年退休金上调3%后一个扎心的现实。。。

个人原创,手写码字1050 你好,我是郭震 今天正式宣布,退休养老金上调3%: 1 现状分析 我对此做一些分析,从数据中帮助老铁们看清一些事实。 根据去年数据,农村老人1.2亿: 去年数据显示&#xff0c…

整除运算的不同定义,取余运算与取模运算的区别与联系

数学中整除及余数的定义 设a&#xff0c;b是两个整数&#xff0c;且b≠0&#xff0c;则存在唯一的整数q和r使得&#xff1a; a q b r &#xff08; 0 ≤ r < ∣ b ∣ ) aqbr&#xff08;0≤r<|b|) aqbr&#xff08;0≤r<∣b∣) 该式叫做带余除法&#xff0c;记余数…

扭蛋机小程序:深度探索虚拟寻宝之旅的乐趣

引言 扭蛋机小程序&#xff0c;这个融合了传统与创新的虚拟寻宝乐园&#xff0c;已经吸引了无数玩家的目光。在这个充满惊喜和挑战的虚拟世界里&#xff0c;每一个扭蛋都可能蕴藏着无尽的宝藏。本文将带您深入探索扭蛋机小程序的魅力所在&#xff0c;体验一场别开生面的虚拟寻…

端开发技术——Flutter富文本组件

简介 flutter 富文本组件。 github地址&#xff1a; https://github.com/ThinkerJack/jac_uikit 使用方式 运行 flutter pub add jac_uikit组件文档 使用方式&#xff1a; HighlightedTextWidget.builder(text: "全部文案包含高亮文案测试用",highlights: [Hig…

编程入门笔记:从基础到进阶的探索之旅

编程入门笔记&#xff1a;从基础到进阶的探索之旅 编程&#xff0c;作为现代科技的基石&#xff0c;正日益渗透到我们生活的方方面面。对于初学者来说&#xff0c;掌握编程技能不仅有助于提升解决问题的能力&#xff0c;还能开启通往创新世界的大门。本篇文章将从四个方面、五…

企业常用的五大源代码加密软件

安秉源代码加密软件&#xff1a; 专注于源代码文件的加密&#xff0c;对编译后的文件不加密。 采用版本管理服务器密文保存方式&#xff0c;不影响员工正常开发流程。 有效防止代码从版本管理服务器下载和上传到私有仓库。 适用于企业环境&#xff0c;保护源代码不被泄露。EXEC…

【机器学习】CART决策树算法的核心思想及其大数据时代银行贷款参考案例——机器认知外界的重要算法

目录 引言 概述 CART决策树的特点 核心思想 减少不确定性的指标 基尼系数&#xff08;Gini Index&#xff09; 分类错误率 熵 银行实例 背景 数据准备 模型构建 模型评估与优化 应用与结果 代码示例 ✈✈✈✈引言✈✈✈✈ CART算法既可以用于分类问题&#xff0…

攻防演练“轻装上阵” | 亚信安全信舱ForCloud 打造全栈防护新策略

网络世界攻防实战中&#xff0c;攻击风险已经从代码到云横跨全栈技术点&#xff0c;你准备好了吗 云服务器&#xff0c;攻击众矢之的 2022年超过38万个Kubernetes API服务器暴露公网&#xff0c;成为攻击者目标。云服务器&#xff0c;尤其是开源设施&#xff0c;一直以来不仅是…

Android可穿戴设备世界之旅

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 介绍 Android通过在电视、穿戴和汽车等各种电子模块中扩展下一代应用开发概念&#xff0c;扩展了其整个范围和可…

vue大作业-实现学校官网

vue大作业-实现学校官网 基于vue2实现的学校官网 项目展示 学校官网介绍 欢迎访问我们学校的官方网站&#xff0c;这里为您提供了全面的信息和资源&#xff0c;帮助您更好地了解我们的教育理念、教学资源和学术活动。 首页 首页是您了解我们学校的起点。这里展示了学校的最…

k8s删除状态为 Terminating 的pod

卸载calico pod时候pod资源状态会卡在terminating&#xff0c;这时候需要手动进行删除 使用以下命令即可 kubectl delete pod podName -n NAMESPACE --force --grace-period0记住一定要加命名空间&#xff0c;不然会报错没有找到