当前位置: 首页 > news >正文

MMDetection环境安装配置

MMDetection 支持在 Linux,Windows 和 macOS 上运行。它需要 Python 3.7 以上,CUDA 9.2
以上和 PyTorch 1.8 及其以上。

MMDetection 至今也一直更新很多个版本了,但是对于最新的pytorch版本仍然不支持,我安装的时候仍然多次遇到mmcy与pytorch版本不对应的情况,因此总结以下可用的安装方案。

1、创建并激活Conda 虚拟环境

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

2、安装Pytorch

首先查看自己电脑的 CUDA 版本

nvidia-smi

输出:
在这里插入图片描述
可以看到当前系统安装了 NVIDIA 驱动程序(版本 570.124.04),并且有两个 NVIDIA RTX A5500 GPU,CUDA 版本为 12.8。

我的是 CUDA12.8,但是安装与 12.8 对应的 Torch 时,后面会出现与 mmcv 版本不匹配的问题,从而导致安装失败。

因此,我在这里选择了 CUDA 11.8 版本的 Torch,pytorch 的下载链接在这里(PyTorch 以前版本),往下拉,选择合适的 pytorch。虽然现在已经到了 2.X 的 PyTorch,但是 mmcv 的版本更新并没有 PyTorch 快,因此,为了与 mmcv 保持版本对应一致,这里选择了 2.1.0 版本的 Torch

# CUDA 11.8
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia

安装成功后可以通过以下命令查看安装的版本信息:

 conda list torch

可以看到我在虚拟环境中再安装了一个 PyTorch 版本的 CUDA 版本:
在这里插入图片描述
验证安装是否成功:

python -c "import torch; print(torch.cuda.is_available())"

显示为 True 则表示安装成功,若显示为 False 则未安装成功,需要排查原因重新安装。

3、安装 mmcv

首先要安装 mimmmengine

pip install -U openmim
mim install mmengine

安装mmcv这里需要注意一下,因为非常容易出错,需要选择合适的版本,选择版本的地址在这里(mmcv版本),mmcv 建议不要选择太高,最好在 2.0.0-2.1 之间。因为在上一步的安装中,我们安装的是 torch2.1.0 版本,这里一步选择下拉框中的选择 cuda11.8torch2.1.x 以及后面 mmcv2.1.0,这几个一定保持对应,否则后面再安装完成后测试的时候,会因为版本不对应出错

mmcv安装命令:

pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu118/torch2.1/index.html

当然这里也可以选择torch别的版本,截止目前,mmdetection中mmcv支持的最高torch版本是2.1.x

4、安装 mmdet

方案 a:如果你开发并直接运行 mmdet,从源码安装它:

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

方案 b【推荐】:如果你将 mmdet 作为依赖或第三方 Python 包,使用 MIM 安装:

mim install mmdet -i https://pypi.tuna.tsinghua.edu.cn/simple

5、验证安装

为了验证 MMDetection 是否安装正确,我们提供了一些示例代码来执行模型推理。
步骤 1. 我们需要下载配置文件和模型权重文件。

mim download mmdet --config rtmdet_tiny_8xb32-300e_coco --dest .

下载将需要几秒钟或更长时间,这取决于你的网络环境。完成后,你会在当前文件夹中发现两个文件 rtmdet_tiny_8xb32-300e_coco.pyrtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth

步骤 2. 推理验证。
方案 a:如果你通过源码安装的 MMDetection,那么直接运行以下命令进行验证:

python demo/image_demo.py demo/demo.jpg rtmdet_tiny_8xb32-300e_coco.py --weights rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth --device cpu

你会在当前文件夹中的 outputs/vis 文件夹中看到一个新的图像 demo.jpg,图像中包含有网络预测的检测框。

方案 b:如果你通过 MIM 安装的 MMDetection,那么可以打开你的 Python 解析器,复制并粘贴以下代码:

from mmdet.apis import init_detector, inference_detectorconfig_file = 'rtmdet_tiny_8xb32-300e_coco.py'
checkpoint_file = 'rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth'
model = init_detector(config_file, checkpoint_file, device='cpu')  # or device='cuda:0'
inference_detector(model, 'demo/demo.jpg')

你将会看到一个包含 DetDataSample 的列表,预测结果在 pred_instance 里,包含有检测框,类别和得分。

如果输出以下内容,则表示安装成功了:
在这里插入图片描述
虽然有个警告,但是不影响,因为没传save_dir参数,加上就好了

结束

到这里就算安装完成了,下次有时间整理下我用MMDetection训练自己的实例分割数据集,以及一些模型改进优化技巧

http://www.xdnf.cn/news/501913.html

相关文章:

  • 小蜗牛拨号助手用户使用手册
  • STM32中的DMA
  • Python自学笔记3 常见运算符
  • Redis 事务与管道:原理、区别与应用实践
  • 【JDBC】JDBC概述、历史版本及特征
  • 深入解析 React 的 useEffect:从入门到实战
  • (头歌作业)—6.1 葡萄酒评论分析报告(project)
  • DeepSeek超大模型的高效训练策略
  • 数据结构与算法——双向链表
  • 探秘 Java 字节缓冲流:解锁高效 IO 操作的进阶之路
  • Unity 人物模型学习笔记
  • MATLAB2025新功能
  • 开源项目实战学习之YOLO11:12.3 ultralytics-models-sam-encoders.py源码分析
  • gcc/g++常用参数
  • Go 语言的 GMP 模型
  • DeepSeek 赋能量子计算:突破与未来图景
  • Python时间处理全攻略:标准库与第三方库的实战应用
  • 如何 naive UI n-data-table 改变行移动光标背景色
  • Linux——shell编程
  • 线对板连接器的兼容性问题:为何老旧设计难以满足现代需求?
  • 前端-HTML元素
  • 匿名函数与闭包(Anonymous Functions and Closures)-《Go语言实战指南》原创
  • Java IO流进阶实战详解(含文件读写、拷贝、加密、字符集)
  • 【springcloud学习(dalston.sr1)】Config配置中心-ConfigServer端与Git通信(含源代码)(十三)
  • 5月17日
  • LLM-Based Agent综述及其框架学习(五)
  • 【网络编程】十一、四万字详解 TCP 协议
  • 虚拟主播肖像权保护,数字时代的法律博弈
  • nt!MiRemovePageByColor函数分析之脱链和刷新颜色表
  • MySQL刷题相关简单语法集合