English | 简体中文
MMCV 是一个面向计算机视觉的基础库,它支持了很多开源项目,例如:
- MIM: MIM 是 OpenMMlab 项目、算法、模型的统一入口
- MMClassification: OpenMMLab 图像分类工具箱
- MMDetection: OpenMMLab 目标检测工具箱
- MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
- MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
- MMSegmentation: OpenMMLab 语义分割工具箱
- MMOCR: OpenMMLab 全流程文字检测识别理解工具箱
- MMPose: OpenMMLab 姿态估计工具箱
- MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
- MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
- MMRazor: OpenMMLab 模型压缩工具箱与测试基准
- MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
- MMAction2: OpenMMLab 新一代视频理解工具箱
- MMTracking: OpenMMLab 一体化视频目标感知平台
- MMFlow: OpenMMLab 光流估计工具箱与测试基准
- MMEditing: OpenMMLab 图像视频编辑工具箱
- MMGeneration: OpenMMLab 图片视频生成模型工具箱
- MMDeploy: OpenMMLab 模型部署框架
MMCV 提供了如下众多功能:
- 通用的 IO 接口
- 图像和视频处理
- 图像和标注结果可视化
- 常用小工具(进度条,计时器等)
- 基于 PyTorch 的通用训练框架
- 多种 CNN 网络结构
- 高质量实现的常见 CUDA 算子
MMCV 支持以下的系统:
- Linux
- Windows
- macOS
如想了解更多特性和使用,请参考文档。
提示: MMCV 需要 Python 3.6 以上版本。
MMCV 有两个版本:
- mmcv-full: 完整版,包含所有的特性以及丰富的开箱即用的 CUDA 算子。注意完整版本可能需要更长时间来编译。
- mmcv: 精简版,不包含 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用 CUDA 算子的话,精简版可以作为一个考虑选项。
注意: 请不要在同一个环境中安装两个版本,否则可能会遇到类似 ModuleNotFound
的错误。在安装一个版本之前,需要先卸载另一个。如果CUDA可用,强烈推荐安装mmcv-full
。
a. 安装完整版
在安装 mmcv-full 之前,请确保 PyTorch 已经成功安装在环境中,可以参考 PyTorch 官方文档。
我们提供了 Linux 和 Windows 平台 PyTorch 和 CUDA 版本组合的 mmcv-full 预编译包,可以大大简化用户安装编译过程。强烈推荐通过预编译包来安装。另外,安装完成后可以运行 check_installation.py 脚本检查 mmcv-full 是否安装成功。
i. 安装最新版本
如下是安装最新版 mmcv-full
的命令
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
请将链接中的 {cu_version}
和 {torch_version}
根据自身需求替换成实际的版本号,例如想安装和 CUDA 11.1
、PyTorch 1.9.0
兼容的最新版 mmcv-full
,使用如下替换过的命令
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
注意: PyTorch 在 1.x.0 和 1.x.1 之间通常是兼容的,故 mmcv-full 只提供 1.x.0 的编译包。如果你的 PyTorch 版本是 1.x.1,你可以放心地安装在 1.x.0 版本编译的 mmcv-full。例如,如果你的 PyTorch 版本是 1.8.1、CUDA 版本是 11.1,你可以使用以下命令安装 mmcv-full。
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
如果想知道更多 CUDA 和 PyTorch 版本的命令,可以参考下面的表格,将链接中的 =={mmcv_version}
删去即可。
ii. 安装特定的版本
如下是安装特定版本 mmcv-full
的命令
pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
首先请参考版本发布信息找到想要安装的版本号,将 {mmcv_version}
替换成该版本号,例如 1.3.9
。
然后将链接中的 {cu_version}
和 {torch_version}
根据自身需求替换成实际的版本号,例如想安装和 CUDA 11.1
、PyTorch 1.9.0
兼容的 mmcv-full
1.3.9 版本,使用如下替换过的命令
pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
对于更多的 PyTorch 和 CUDA 版本组合,请参考下表:
CUDA | torch 1.11 | torch 1.10 | torch 1.9 | torch 1.8 | torch 1.7 | torch 1.6 | torch 1.5 |
---|---|---|---|---|---|---|---|
11.5 | 安装
|
||||||
11.3 | 安装
|
安装
|
|||||
11.1 | 安装
|
安装
|
安装
|
||||
11.0 | 安装
|
||||||
10.2 | 安装
|
安装
|
安装
|
安装
|
安装
|
安装
|
安装
|
10.1 | 安装
|
安装
|
安装
|
安装
|
|||
9.2 | 安装
|
安装
|
安装
|
||||
cpu | 安装
|
安装
|
安装
|
安装
|
安装
|
安装
|
安装
|
注意:以上提供的预编译包并不囊括所有的 mmcv-full 版本,你可以点击对应链接查看支持的版本。例如,点击 cu102-torch1.8.0,可以看到 cu102-torch1.8.0
只提供了 1.3.0 及以上的 mmcv-full 版本。另外,从 mmcv v1.3.17
开始,我们不再提供PyTorch 1.3 & 1.4
对应的 mmcv-full 预编译包。你可以在 这 找到 PyTorch 1.3 & 1.4
对应的预编包。虽然我们不再提供 PyTorch 1.3 & 1.4
对应的预编译包,但是我们依然在 CI 中保证对它们的兼容持续到下一年。
注意:mmcv-full 没有提供 Windows 平台 cu102-torch1.8.0
和 cu92-torch*
的预编译包。
除了使用预编译包之外,另一种方式是在本地进行编译,直接运行下述命令
pip install mmcv-full
但注意本地编译可能会耗时 10 分钟以上。
b. 安装精简版
pip install mmcv
c. 安装完整版并且编译 onnxruntime 的自定义算子
- 详细的指南请查看这里。
如果想从源码编译 MMCV,请参考该文档。
如果你遇到了安装问题,CUDA 相关的问题或者 RuntimeErrors,可以首先参考问题解决页面 看是否已经有解决方案。
我们感谢所有的贡献者为改进和提升 MMCV 所作出的努力。请参考贡献指南来了解参与项目贡献的相关指引。
MMCV
目前以 Apache 2.0 的许可证发布,但是其中有一部分功能并不是使用的 Apache2.0 许可证,我们在 许可证 中详细地列出了这些功能以及他们对应的许可证,如果您正在从事盈利性活动,请谨慎参考此文档。
扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,加入 OpenMMLab 团队的 官方交流 QQ 群,或添加微信小助手”OpenMMLabwx“加入官方交流微信群。
我们会在 OpenMMLab 社区为大家
- 📢 分享 AI 框架的前沿核心技术
- 💻 解读 PyTorch 常用模块源码
- 📰 发布 OpenMMLab 的相关新闻
- 🚀 介绍 OpenMMLab 开发的前沿算法
- 🏃 获取更高效的问题答疑和意见反馈
- 🔥 提供与各行各业开发者充分交流的平台
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬