MMDetection安装实战教程

MMDetection 支持在 LinuxWindowsmacOS 上运行,其实在 WindowsLinux 上配置环境区别不大,建议有条件还是在 Linux 上配置,它需要 Python 3.7 以上,CUDA 9.2 以上和 PyTorch1.8 及其以上。

创建 Conda 虚拟环境

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

安装 PyTorch

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

nvidia-smi

输出:

# nvidia-smi
Tue Dec 17 01:31:35 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.104.12             Driver Version: 535.104.12   CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA A800 80GB PCIe          On  | 00000000:38:00.0 Off |                    0 |
| N/A   73C    P0             251W / 300W |  70007MiB / 81920MiB |    100%      Default |
|                                         |                      |             Disabled |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+

查看自己的 CUDA 版本,我的是 CUDA12.2,但是安装与 12.2 对应的 Torch 时,后面会出现与 mmcv 版本不匹配的问题,从而导致安装失败。因此,我在这里选择了 CUDA 11.8 版本的 Torchpytorch 的下载链接在这里(PyTorch 以前版本),往下拉,选择合适的 pytorch。虽然现在已经到了 2.XPyTorch,但是 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

这里注意,其实服务器(本机)的 CUDA 版本是 12.2,但是我们可以选择比 12.2 小的版本,因为在虚拟环境中会自己再安装一个 PyTorch 版本的 CUDA 版本,打印安装包为例:

conda list cuda
(mmdet) conda list torch
# packages in environment at /opt/conda/envs/mmdet:
#
# Name                    Version                   Build  Channel
torch                     2.1.0+cu118              pypi_0    pypi
torchaudio                2.1.0+cu118              pypi_0    pypi
torchvision               0.16.0+cu118             pypi_0    pypi

我们可以看到 cuda11.8torch2.1.0 已经安装完成,下面我们测试是否安装成功

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

或者:

(mmyolo) python      
Python 3.8.20 (default, Oct  3 2025, 15:47:27) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print (torch.cuda.is_available())
True
>>> exit()

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

安装 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,这几个一定保持对应,否则后面再安装完成后测试的时候,会因为版本不对应出错

安装命令:

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

安装 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 命令添加代理提高安装速度。

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

验证安装

为了验证 MMDetection 是否安装正确,我们提供了一些示例代码来执行模型推理。

步骤 1. 下载 mmdet 源码文件

git clone https://github.com/open-mmlab/mmdetection.git                                                                

cd /to/path/mmdetection  

步骤 2. 我们还需要下载配置文件和模型权重文件。

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

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

步骤 3. 推理验证。

方案 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_detector  

config_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 里,包含有检测框,类别和得分。

[!error]- Error
问题 1:

UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argume 

解决方案:
找到functional.py文件报错位置,修改加上代码indexing = ‘ij’。

return _VF.meshgrid(tensors, **kwargs,indexing = 'ij')  # type: ignore[attr-defined]

参考文件:
学习配置文件 — MMDetection 3.3.0 文档
MMDetection安装踩坑教程,一次性安装成功_mmcv2.1.0搭配什么mmdet-优快云博客
使用MMDetection训练自己的数据集-优快云博客
使用mmdetection框架训练自己的数据集_mmdetection训练自己的数据-优快云博客

<think>好的,我现在需要帮助用户解决如何安装MMDetection的问题。首先,用户已经提供了四个引用内容,都是关于MMDetection安装的不同教程和注意事项。我需要整合这些信息,给出一个结构清晰、步骤明确的安装指南。 首先,我应该先理解每个引用的内容。引用1和引用2提到了安装MMCV时需要注意版本兼容性,尤其是CUDA和PyTorch的版本对应。引用3提到了配置文件路径的问题,引用4则强调了版本确定的顺序,建议先确定各个包的版本再安装,避免兼容性问题。 接下来,我需要整理安装步骤。根据引用4的建议,正确的顺序应该是先确定PyTorch和CUDA版本,然后安装对应版本的MMCV,最后安装MMDetection。这样可以避免版本冲突。引用1和引用2中的安装命令需要正确应用,比如使用pip安装MMCV-full的特定版本URL,以及使用清华镜像源加速安装。 另外,用户可能需要环境配置的步骤,比如创建虚拟环境,这在引用4中也有提到。测试安装是否成功也是关键步骤,引用3中的测试命令可能需要调整路径格式,确保用户正确执行。 还需要注意用户可能遇到的常见问题,比如路径错误、版本不兼容等,根据引用中的信息,给出解决方法。例如,在Windows系统中路径使用双反斜杠,或者安装MMCV时如何找到正确的下载链接。 最后,生成相关问题,帮助用户进一步了解优化方法和应用场景,但根据用户的问题,当前只需要安装指南。不过按照系统指令,需要生成相关问题,比如性能优化、配置调整等。 总结步骤应该是:环境准备→安装PyTorch和CUDA→安装MMCV→安装MMDetection→验证安装。每个步骤中需要详细说明命令和注意事项,特别是版本对应关系,引用相关的内容作为支持。同时,确保使用正确的中文表达,避免术语错误,并按照要求使用LaTeX格式标注数学表达式,虽然这个问题可能不涉及太多数学内容,但如果有变量或版本号,可能需要用$包裹。 现在需要检查是否有遗漏的步骤或常见问题,例如虚拟环境的创建、依赖项的安装、错误处理等。确保引用中的各个要点都被涵盖,比如使用官方版本对应表,安装mmcv-full的正确命令,以及测试demo时的路径问题。 可能还需要提醒用户注意操作系统差异,比如在Windows和Linux下路径的写法不同,安装命令是否有差异。例如,引用3中的双反斜杠路径是针对Windows的,而Linux用户可能需要使用单斜杠。 总之,整合所有引用中的有效信息,按照逻辑顺序呈现,确保用户能够一步步正确安装,避免版本冲突和路径错误,顺利完成MMDetection安装。</think>### MMDetection 安装步骤详解 #### 一、环境准备 1. 创建虚拟环境(推荐使用Anaconda) ```bash conda create -n mmdet python=3.8 -y conda activate mmdet ``` 2. 安装PyTorch与CUDA 根据引用[1][2][4],需先确定PyTorch和CUDA版本。例如: - **CUDA 11.3** + **PyTorch 1.12.1** ```bash pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113 ``` #### 二、安装MMCV 1. 选择匹配的MMCV版本 参考引用[1][2],根据PyTorch和CUDA版本获取MMCV安装命令。例如: ```bash pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.12.1/index.html ``` #### 三、安装MMDetection 1. 克隆仓库并安装依赖 ```bash git clone https://github.com/open-mmlab/mmdetection.git cd mmdetection pip install -r requirements.txt pip install -v -e . # 以开发者模式安装[^2] ``` 2. 验证安装 ```bash python -c "from mmdet.apis import init_detector; print('安装成功')" ``` #### 四、测试Demo 根据引用[3],运行测试脚本时需注意路径格式: ```bash python demo/image_demo.py D:\\path\\to\\demo.jpg \ configs/rtmdet/rtmdet_tiny_8xb32-300e_coco.py \ --weights checkpoints/rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth \ --show ``` > **注意**:Windows路径需使用双反斜杠`\\`,Linux/macOS使用单斜杠`/`[^3]。 --- ### 常见问题解决方法 1. **版本冲突** 若安装失败,需按引用[4]建议的顺序重新检查版本:**PyTorch→CUDA→MMCV→MMDetection**。 2. **MMCV安装失败** 使用官方提供的版本匹配表([MMCV版本表](https://github.com/open-mmlab/mmcv#installation))生成正确命令[^2]。 3. **依赖缺失** 确保安装`requirements.txt`中的所有依赖项,如`cython`和`pycocotools`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伪_装

您的支持,是我持续创作的光

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值