安装mmcv-full-1.x.x和mmdet教程及其间所遇问题

目录

一、前言

二、安装python,CUDA, Pytorch

2.1版本对应

2.2python安装

2.3CUDA安装

2.4pytorch安装

三、安装mmcv-full,mmdet

四、安装编译版本mmcv

五、编译版mmcv2.0.1,mmdet3.1.0 


一、前言

mmcv>=2.0.0的版本不再区分mmcv与mmcv-full

包名<2.0>=2.0
mmcv-full包含CUDA算子
mmcv不包含CUDA算子包含CUDA算子
mmcv-lite不包含CUDA算子

详细区别参考:https://zhuanlan.zhihu.com/p/572550592

需要注意的是,mmcv-full只能在pytorch的1.x.0版本上进行编译,所以再确定需要版本为1.x.x时,要查看自己的pytorch版本,若不符合需要重新创建新环境。尤其注意CUDA版本

对于从github上下载的项目,首先查看mmdet文件下的__init__.py和version.py文件,确定该项目用的mmcv版本和mmdet版本。

我这里指定mmcv版本在1.3.17至1.7.0之间的版本,mmdet为2.25.3版本

接下来是我的安装历程,我安装的版本信息如下

pythonCUDApytorchmmcv-fullmmdet
3.710.21.8.01.7.02.25.3

二、安装python,CUDA, Pytorch

2.1版本对应

下图为python与torch,torchvision版本对应,来源于Torch 、torchvision 、Python 版本对应关系以及安装 GPU 或 CPU 版本的 pytorch_torch torchvision_xzw96的博客-CSDN博客

下图为cudatoolkit与torch版本对应

cudatoolkittorch1.5torch1.6torch1.7torch1.8torch1.9torch1.10torch1.11
9.2
10.1
10.2
11.0
11.1
11.3

2.2python安装

链接:https://pan.baidu.com/s/1o_jfQq-P-WtCWRZOJ0Dn8g?pwd=zll8 
提取码:zll8

网盘连接放这里,其中有Anaconda的安装文件以及方法 ,这个自行安装即可

2.3CUDA安装

参考连接:http://t.csdnimg.cn/KiK3V

试了很多博主的方法,该博主讲的最细以及方法最适用

2.4pytorch安装

首先打开anaconda prompt,创建一个新的虚拟环境,指定python版本,如我的3.7

conda create -n mcvful python=3.7

由于我是在安装前更换了电脑CUDA的版本,也不知道哪里没有处理好,所以在创建新的环境时出现了CondaVerificationError错误,如下:

CondaVerificationError: The package for wheel located at /home/xxx/anaconda3/pkgs/wheel-0.36.2-pyhd3eb1b0_0
appears to be corrupted. The path 'site-packages/wheel/vendored/__init__.py'
specified in the package manifest cannot be found.

CondaVerificationError: The package for wheel located at /home/xxx/anaconda3/pkgs/wheel-0.36.2-pyhd3eb1b0_0
appears to be corrupted. The path 'site-packages/wheel/vendored/packaging/__init__.py'
specified in the package manifest cannot be found.

 如果出现类似错误,请参考:http://t.csdn.cn/w6xAc

我的是该文件出现错误,按照该博主的步骤,删除后再重新创建环境就没问题了

环境创建成功后激活环境

activate mcvful

 然后下载torch1.8.0和torchvision0.9.0(根据自己torch版本找对应的torchvision版本)

链接:download.pytorch.org/whl/torch_stable.html

下载好后分别复制torch和torchvision文件的路径

分别运行下面段代码

pip install "E:\ana\envs\mcvful\torch-1.8.0-cp39-cp39-win_amd64.whl"

pip insatll "E:\ana\envs\mcvful\torchvision-0.9.0-cp39-cp39-win_amd64.whl"

如果报如下的错误

Could not find a version that satisfies the requirement pymysql (from versions: none)

可以在后面加一个pip源,如:

pip install "E:\ana\envs\mcvful\torch-1.8.0-cp39-cp39-win_amd64.whl" -i https://pypi.tuna.tsinghua.edu.cn/simple

torchvision同理

安装完成后进行pip list查看

测试torch安装是否成功,true则表示成功

三、安装mmcv-full,mmdet

下图中打  的位置表示存在该版本的mmcv-full包,CUDA10.2的兼容性最好(github官网说的),所以尽量安装CUDA10.2,

CUDAtorch1.11torch1.10torch1.9torch1.8torch1.7torch1.6torch1.5
11.5
11.3
11.1
11.0
10.2
10.1
9.2
cpu

官网给出了基本的安装步骤:开始你的第一步 — MMDetection 3.1.0 文档,如果完全按照官网指示安装,容易安装成最新版本的,我的步骤如下:

按照官网的要求运行前两句,

pip install -U openmim
mim install mmengine

由于我需要安装mmcv-full-1.7.0,所以运行如下语句(最好加一个清华源,不然容易下载失败,mmdet同理):

mim install mmcv-full==1.7.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

 然后安装mmdet,直接指定版本mmdet==2.25.3(需要注意的是如果是下载的别人的基于mmcv的项目,最好不要用清华源安装mmdet,尤其是需要在该项目上进行改动时,尽量安装编译版的mmcv,用setup.py去安装,原因参照http://t.csdnimg.cn/herQd)

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

四、安装编译版本mmcv

参考Windows 环境从零安装 mmcv-full - 知乎 (zhihu.com)

其中编译时打开的是

而不是 

 打开后先通过cd到源码下载目录,然后激活环境如

 这里激活必须使用conda命令,然后遵照作者所说编译即可,需要注意的是运行顺序:

  1. 安装开发依赖项(如果有):pip install -r requirements-dev.txt
  2. 运行 setup.pypython setup.py develop
  3. 安装运行时依赖项:pip install -r requirements.txt

五、编译版mmcv2.0.1,mmdet3.1.0 

参考从源码编译 MMCV — mmcv 2.0.1 文档

<think>嗯,用户让我介绍一下CUDA、cuDNN、PyTorchmmcv-full以及kneron-mmdetection各个版本之间的兼容性,还要做一个兼容情况表格。首先,我需要确认每个库的依赖关系,尤其是版本之间的对应关系。 首先,CUDAcuDNN是NVIDIA的底层库,PyTorch依赖于这两个。然后是mmcv-full,这是OpenMMLab的一个库,它又依赖于PyTorchCUDA的版本。kneron-mmdetection可能是基于mmdetection的一个定制版本,可能还有特定的版本要求。 我需要先整理PyTorch对应的CUDA版本。比如PyTorch 1.x通常对应CUDA 10.x或者11.x,而PyTorch 2.x可能支持CUDA 11.7或12.x。然后cuDNN的版本需要CUDA对应,比如CUDA 11.x可能对应cuDNN 8.x。 接下来是mmcv-full,这个库的版本PyTorch、CUDA版本强相关。例如,mmcv-full 2.x可能要求PyTorch 1.6以上,并且不同的CUDA版本需要不同的mmcv-full编译版本。比如CUDA 11.3可能需要pip install mmcv-full==1.6.1 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11/index.html这样的安装命令。 至于kneron-mmdetection,可能是一个特定分支或者修改版,可能需要查看其官方文档或GitHub仓库的说明,确定支持的mmcv-fullPyTorch版本。例如,可能kneron-mmdetection v2.25需要mmcv-full >=1.3.17,并且PyTorch 1.9+CUDA 11.1。 用户可能需要这些信息来配置深度学习环境,避免版本冲突。他们可能是在部署项目时到了兼容性问题,或者准备开始一个新项目,需要确保所有组件版本匹配。因此,提供一个清晰的表格安装示例会很有帮助。 需要验证各个库的官方文档,确保信息的准确性。例如,PyTorch官网会有版本对应的CUDA版本,OpenMMLab的文档会说明mmcv-fullPyTorch的兼容性,而kneron-mmdetection的GitHub仓库可能有版本要求说明。如果某些信息不确定,最好建议用户参考官方文档,并注意可能的更新。 最后,整理这些信息成表格,分列各个组件及其兼容版本,并给出安装示例,帮助用户快速搭建环境。同时提醒用户实际安装时需查阅官方文档,因为版本更新可能导致变化。</think>以下是 **CUDA、cuDNN、PyTorchmmcv-full、kneron-mmdetection** 的版本兼容性要求总结表格及说明。需要注意的是,不同版本的深度学习框架对底层库的依赖可能存在差异,实际安装时需参考官方文档的明确要求。 --- ### **版本兼容性表格** | 组件名称 | 版本范围 | 兼容要求 | |--|--------------------------------------------------------------------------| | **CUDA** | 11.3 - 12.1 | PyTorchmmcv-full 依赖 CUDA 版本,需与 PyTorch 编译版本一致。 | | **cuDNN** | 8.0 - 8.9 | 需与 CUDA 版本匹配(例如 CUDA 11.x → cuDNN 8.x)。 | | **PyTorch** | 1.8 - 2.2 | 需与 CUDA 版本严格匹配(如 PyTorch 2.0+ 支持 CUDA 11.7/11.8)。 | | **mmcv-full** | 1.3.17 - 2.1.0 | 依赖 PyTorch CUDA 版本,需通过指定编译版本安装(如 `cu113/torch1.11`)。 | | **kneron-mmdetection** | 2.25+(定制版本) | 通常依赖 mmcv-full >=1.3.17 PyTorch >=1.9,需参考 Kneron 官方文档。 | --- ### **详细兼容性说明** 1. **CUDA 与 cuDNN** - **CUDA 11.x**:兼容 cuDNN 8.0-8.9,常见于 PyTorch 1.10-2.2。 - **CUDA 12.x**:需 cuDNN >=8.9,PyTorch 2.1+ 开始支持。 - **官方验证组合**: - CUDA 11.3 + cuDNN 8.2 - CUDA 11.7 + cuDNN 8.5 2. **PyTorch 与 CUDA** - PyTorch 1.x(如 1.12):支持 CUDA 10.2/11.3。 - PyTorch 2.x(如 2.0):支持 CUDA 11.7/11.8 12.x。 - 安装命令示例: ```bash # PyTorch 2.0 + CUDA 11.8 pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118 ``` 3. **mmcv-fullPyTorch/CUDA** - mmcv-full 需根据 PyTorch CUDA 版本选择预编译包: ```bash # 示例:CUDA 11.3 + PyTorch 1.11 pip install mmcv-full==1.6.1 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.11/index.html ``` - 兼容性参考: - mmcv-full >=2.0.0 需要 PyTorch >=1.8。 - mmcv-full 1.x 支持 PyTorch 1.6-1.12。 4. **kneron-mmdetection** - 基于 OpenMMLab 的 mmdetection 二次开发,通常要求: - PyTorch >=1.9 - mmcv-full >=1.3.17 - 需从 Kneron 官方仓库安装(如 `git clone https://github.com/kneron/kneron-mmdetection`)。 --- ### **推荐组合示例** | 场景 | CUDA | cuDNN | PyTorch | mmcv-full | kneron-mmdetection | |-------|--------|-------|---------|---------------|--------------------| | 稳定版(推荐) | 11.7 | 8.5 | 2.0.1 | 2.0.0 | v2.25.0 | | 旧版本兼容 | 11.3 | 8.2 | 1.11.0 | 1.6.1 | v2.20.0 | | 最新版(实验性) | 12.1 | 8.9 | 2.2.0 | 2.1.0 | 需参考 Kneron 文档 | -- ### **注意事项** 1. **官方文档优先**:具体项目的版本要求以仓库的 `requirements.txt` 或 `INSTALL.md` 为准。 2. **环境隔离**:建议使用 `conda` 或 `docker` 管理环境,避免依赖冲突。 3. **Kneron 特殊依赖**:部分定制功能可能需要额外的驱动或工具链(如 KL520/630 NPU 支持)。 如果需要具体版本的组合验证,建议提供目标版本号以便进一步分析!
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值