【技术】MMDetection3D库的安装步骤记录

2024-04-08 13:36

本文主要是介绍【技术】MMDetection3D库的安装步骤记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

最近折腾使用了MMDetection3D库,把安装的过程和环境配置都详细记录了下来,以方便人们避坑。blog
因为一不留神某个软件或驱动版本之间不匹配就会出现一些奇怪问题。

准备

本安装在以下环境中进行了测试:Ubuntu 20.04、CUDA-11.6、PyTorch v1.13.1。

Miniconda

此安装在conda虚拟环境中进行,因此请确保已安装Miniconda。

Linux下安装:

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

初始化:

~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh

CUDA Toolkit

建议使用CUDA 11.6和Nvidia驱动程序510.39.01。Nvidia驱动程序可以与CUDA一起安装。

  • 检查CUDA版本:nvcc --version
  • 从系统中删除CUDA:sudo /usr/local/cuda-11.x/bin/cuda-uninstaller(将x替换为CUDA的版本)
  • 检查Nvidia驱动程序版本:nvidia-smi
  • 删除Nvidia驱动程序:sudo /usr/bin/nvidia-uninstall

安装CUDA11.6和驱动程序510.39.01:

wget https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run
sudo sh cuda_11.6.0_510.39.01_linux.run

在终端中勾选Nvidia驱动程序。

若需要安装其他版本,请查看官方网站。

安装依赖

创建一个虚拟环境:

conda create --name openmmlab python=3.8 -y
conda activate openmmlab

安装PyTorch v1.13.1:

conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia

安装SpConv:

pip install spconv-cu116

安装MMDetection3D

了解更多信息:https://mmdetection3d.readthedocs.io/en/latest/get_started.html

安装MM相关依赖

# 安装mim
pip install -U openmim
mim install mmengine 'mmcv>=2.0.0rc4' 'mmdet>=3.0.0'

安装MMDetection3D库

情况一: 使用该库作为一个第三方包:

# 安装mmdet3d
mim install "mmdet3d>=1.1.0"

情况二:以源码方式安装:

git clone https://github.com/open-mmlab/mmdetection3d.git -b dev-1.x
cd mmdetection3d
pip install -v -e .

测试

要测试结果,请在Python环境中尝试从中导入库,例如:

from mmdet3d.apis import init_model, inference_detector

或者

import mmdet3d
print(mmdet3d.__version__)

有问题欢迎留言,我会回复或更新文章哦,谢谢!

这篇关于【技术】MMDetection3D库的安装步骤记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE