diff --git a/README.md b/README.md
index 1a6541a689a..407c8672e81 100644
--- a/README.md
+++ b/README.md
@@ -20,6 +20,7 @@
[![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmcv.readthedocs.io/en/latest/)
+[![platform](https://img.shields.io/badge/platform-Linux%7CWindows%7CmacOS-blue)](https://mmcv.readthedocs.io/en/latest/get_started/installation.html)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mmcv)](https://pypi.org/project/mmcv/)
[![PyPI](https://img.shields.io/pypi/v/mmcv)](https://pypi.org/project/mmcv)
[![badge](https://github.com/open-mmlab/mmcv/workflows/build/badge.svg)](https://github.com/open-mmlab/mmcv/actions)
@@ -30,39 +31,17 @@ English | [简体中文](README_zh-CN.md)
## Introduction
-MMCV is a foundational library for computer vision research and supports many
-research projects as below:
+MMCV is a foundational library for computer vision research and it provides the following functionalities:
-- [MIM](https://github.com/open-mmlab/mim): MIM installs OpenMMLab packages.
-- [MMClassification](https://github.com/open-mmlab/mmclassification): OpenMMLab image classification toolbox and benchmark.
-- [MMDetection](https://github.com/open-mmlab/mmdetection): OpenMMLab detection toolbox and benchmark.
-- [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): OpenMMLab's next-generation platform for general 3D object detection.
-- [MMRotate](https://github.com/open-mmlab/mmrotate): OpenMMLab rotated object detection toolbox and benchmark.
-- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab semantic segmentation toolbox and benchmark.
-- [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab text detection, recognition, and understanding toolbox.
-- [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab pose estimation toolbox and benchmark.
-- [MMHuman3D](https://github.com/open-mmlab/mmhuman3d): OpenMMLab 3D human parametric model toolbox and benchmark.
-- [MMSelfSup](https://github.com/open-mmlab/mmselfsup): OpenMMLab self-supervised learning toolbox and benchmark.
-- [MMRazor](https://github.com/open-mmlab/mmrazor): OpenMMLab model compression toolbox and benchmark.
-- [MMFewShot](https://github.com/open-mmlab/mmfewshot): OpenMMLab fewshot learning toolbox and benchmark.
-- [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab's next-generation action understanding toolbox and benchmark.
-- [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab video perception toolbox and benchmark.
-- [MMFlow](https://github.com/open-mmlab/mmflow): OpenMMLab optical flow toolbox and benchmark.
-- [MMEditing](https://github.com/open-mmlab/mmediting): OpenMMLab image and video editing toolbox.
-- [MMGeneration](https://github.com/open-mmlab/mmgeneration): OpenMMLab image and video generative models toolbox.
-- [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab model deployment framework.
+- [Universal IO APIs](https://mmcv.readthedocs.io/en/latest/understand_mmcv/io.html)
+- [Image/Video processing](https://mmcv.readthedocs.io/en/latest/understand_mmcv/data_process.html)
+- [Image and annotation visualization](https://mmcv.readthedocs.io/en/latest/understand_mmcv/visualization.html)
+- [Useful utilities (progress bar, timer, ...)](https://mmcv.readthedocs.io/en/latest/understand_mmcv/utils.html)
+- [PyTorch runner with hooking mechanism](https://mmcv.readthedocs.io/en/latest/understand_mmcv/runner.html)
+- [Various CNN architectures](https://mmcv.readthedocs.io/en/latest/understand_mmcv/cnn.html)
+- [High-quality implementation of common CPU and CUDA ops](https://mmcv.readthedocs.io/en/latest/understand_mmcv/ops.html)
-It provides the following functionalities.
-
-- Universal IO APIs
-- Image/Video processing
-- Image and annotation visualization
-- Useful utilities (progress bar, timer, ...)
-- PyTorch runner with hooking mechanism
-- Various CNN architectures
-- High-quality implementation of common CUDA ops
-
-It supports the following systems.
+It supports the following systems:
- Linux
- Windows
@@ -76,181 +55,83 @@ Note: MMCV requires Python 3.6+.
There are two versions of MMCV:
-- **mmcv-full**: comprehensive, with full features and various CUDA ops out of box. It takes longer time to build.
-- **mmcv**: lite, without CUDA ops but all other features, similar to mmcv\<1.0.0. It is useful when you do not need those CUDA ops.
+- **mmcv-full**: comprehensive, with full features and various CPU and CUDA ops out of the box. It takes longer time to build.
+- **mmcv**: lite, without CPU and CUDA ops but all other features, similar to mmcv\<1.0.0. It is useful when you do not need those CUDA ops.
**Note**: Do not install both versions in the same environment, otherwise you may encounter errors like `ModuleNotFound`. You need to uninstall one before installing the other. `Installing the full version is highly recommended if CUDA is available`.
-a. Install the full version.
-
-Before installing mmcv-full, make sure that PyTorch has been successfully installed following the [official guide](https://pytorch.org/).
+### Install mmcv-full
-We provide pre-built mmcv packages (recommended) with different PyTorch and CUDA versions to simplify the building for **Linux and Windows systems**. In addition, you can run [check_installation.py](.dev_scripts/check_installation.py) to check the installation of mmcv-full after running the installation commands.
+Before installing mmcv-full, make sure that PyTorch has been successfully installed following the [PyTorch official installation guide](https://github.com/pytorch/pytorch#installation).
-i. Install the latest version.
+The command to install mmcv-full on Linux or Windows platforms is as follows (if your system is macOS, please refer to [build mmcv-full from source](https://mmcv.readthedocs.io/en/latest/get_started/build.html#macos-mmcv-full))
-The rule for installing the latest `mmcv-full` is as follows:
-
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
+```bash
+pip install -U openmim
+mim install mmcv-full
```
-Please replace `{cu_version}` and `{torch_version}` in the url to your desired one. For example,
-to install the latest `mmcv-full` with `CUDA 11.1` and `PyTorch 1.9.0`, use the following command:
+If you need to specify the version of mmcv-full, you can use the following command
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
+```bash
+mim install mmcv-full==1.5.0
```
-**Note**: mmcv-full is only compiled on PyTorch 1.x.0 because the compatibility usually holds between 1.x.0 and 1.x.1. If your PyTorch version is 1.x.1, you can install mmcv-full compiled with PyTorch 1.x.0 and it usually works well. For example, if your PyTorch version is 1.8.1 and CUDA version is 11.1, you can use the following command to install mmcv-full.
-
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
-```
+If you find that the above installation command does not use a pre-built package ending with `.whl` but a source package ending with `.tar.gz`, you may not have a pre-build package corresponding to the PyTorch or CUDA or mmcv-full version, in which case you can [build mmcv-full from source](https://mmcv.readthedocs.io/en/latest/get_started/build.html).
-For more details, please refer the the following tables and delete `=={mmcv_version}`.
+
+Installation log using pre-built packages
-ii. Install a specified version.
+Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
+Collecting mmcv-full
+Downloading https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/mmcv_full-1.6.1-cp38-cp38-manylinux1_x86_64.whl
-The rule for installing a specified `mmcv-full` is as follows:
+
-```shell
-pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
-```
+
+Installation log using source packages
-First of all, please refer to the Releases and replace `{mmcv_version}` a specified one. e.g. `1.3.9`.
-Then replace `{cu_version}` and `{torch_version}` in the url to your desired versions. For example,
-to install `mmcv-full==1.3.9` with `CUDA 11.1` and `PyTorch 1.9.0`, use the following command:
+Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
+Collecting mmcv-full==1.6.0
+Downloading mmcv-full-1.6.0.tar.gz
-```shell
-pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
-```
+
-For more details, please refer the the following tables.
-
-
-
-**Note**: The pre-built packages provided above do not include all versions of mmcv-full, you can click on the corresponding links to see the supported versions. For example, you can click [cu102-torch1.8.0](https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html) and you can see that `cu102-torch1.8.0` only provides 1.3.0 and above versions of mmcv-full. In addition, We no longer provide `mmcv-full` pre-built packages compiled with `PyTorch 1.3 & 1.4` since v1.3.17. You can find previous versions that compiled with PyTorch 1.3 & 1.4 [here](./docs/en/get_started/previous_versions.md). The compatibility is still ensured in our CI, but we will discard the support of PyTorch 1.3 & 1.4 next year.
-
-**Note**: mmcv-full does not provide pre-built packages for `cu102-torch1.11` and `cu92-torch*` on Windows.
-
-Another way is to compile locally by running
-
-```python
-pip install mmcv-full
-```
+For more installation methods, please refer to the [Installation documentation](https://mmcv.readthedocs.io/en/latest/get_started/installation.html).
-Note that the local compiling may take up to 10 mins.
+### Install mmcv
-b. Install the lite version.
+If you need to use PyTorch-related modules, make sure PyTorch has been successfully installed in your environment by referring to the [PyTorch official installation guide](https://github.com/pytorch/pytorch#installation).
-```python
-pip install mmcv
+```bash
+pip install -U openmim
+mim install mmcv
```
-c. Install full version with custom operators for onnxruntime
-
-- Check [here](docs/en/deployment/onnxruntime_op.md) for detailed instruction.
+## Supported projects
-If you would like to build MMCV from source, please refer to the [guide](https://mmcv.readthedocs.io/en/latest/get_started/build.html).
+- [MIM](https://github.com/open-mmlab/mim): MIM installs OpenMMLab packages.
+- [MMClassification](https://github.com/open-mmlab/mmclassification): OpenMMLab image classification toolbox and benchmark.
+- [MMDetection](https://github.com/open-mmlab/mmdetection): OpenMMLab detection toolbox and benchmark.
+- [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): OpenMMLab's next-generation platform for general 3D object detection.
+- [MMRotate](https://github.com/open-mmlab/mmrotate): OpenMMLab rotated object detection toolbox and benchmark.
+- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab semantic segmentation toolbox and benchmark.
+- [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab text detection, recognition, and understanding toolbox.
+- [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab pose estimation toolbox and benchmark.
+- [MMHuman3D](https://github.com/open-mmlab/mmhuman3d): OpenMMLab 3D human parametric model toolbox and benchmark.
+- [MMSelfSup](https://github.com/open-mmlab/mmselfsup): OpenMMLab self-supervised learning toolbox and benchmark.
+- [MMRazor](https://github.com/open-mmlab/mmrazor): OpenMMLab model compression toolbox and benchmark.
+- [MMFewShot](https://github.com/open-mmlab/mmfewshot): OpenMMLab fewshot learning toolbox and benchmark.
+- [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab's next-generation action understanding toolbox and benchmark.
+- [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab video perception toolbox and benchmark.
+- [MMFlow](https://github.com/open-mmlab/mmflow): OpenMMLab optical flow toolbox and benchmark.
+- [MMEditing](https://github.com/open-mmlab/mmediting): OpenMMLab image and video editing toolbox.
+- [MMGeneration](https://github.com/open-mmlab/mmgeneration): OpenMMLab image and video generative models toolbox.
+- [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab model deployment framework.
## FAQ
-If you face some installation issues, CUDA related issues or RuntimeErrors,
-you may first refer to this [Frequently Asked Questions](https://mmcv.readthedocs.io/en/latest/faq.html).
+If you face installation problems or runtime issues, you may first refer to this [Frequently Asked Questions](https://mmcv.readthedocs.io/zh_CN/latest/faq.html) to see if there is a solution. If the problem is still not solved, feel free to open an [issue](https://github.com/open-mmlab/mmcv/issues).
## Citation
diff --git a/README_zh-CN.md b/README_zh-CN.md
index 8c768c837ec..187236dbd87 100644
--- a/README_zh-CN.md
+++ b/README_zh-CN.md
@@ -20,6 +20,7 @@
[![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmcv.readthedocs.io/zh_CN/latest/)
+[![platform](https://img.shields.io/badge/platform-Linux%7CWindows%7CmacOS-blue)](https://mmcv.readthedocs.io/zh_CN/latest/get_started/installation.html)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mmcv)](https://pypi.org/project/mmcv/)
[![PyPI](https://img.shields.io/pypi/v/mmcv)](https://pypi.org/project/mmcv)
[![badge](https://github.com/open-mmlab/mmcv/workflows/build/badge.svg)](https://github.com/open-mmlab/mmcv/actions)
@@ -30,44 +31,23 @@
## 简介
-MMCV 是一个面向计算机视觉的基础库,它支持了很多开源项目,例如:
+MMCV 是一个面向计算机视觉的基础库,它提供了以下功能:
-- [MIM](https://github.com/open-mmlab/mim): MIM 是 OpenMMlab 项目、算法、模型的统一入口
-- [MMClassification](https://github.com/open-mmlab/mmclassification): OpenMMLab 图像分类工具箱
-- [MMDetection](https://github.com/open-mmlab/mmdetection): OpenMMLab 目标检测工具箱
-- [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): OpenMMLab 新一代通用 3D 目标检测平台
-- [MMRotate](https://github.com/open-mmlab/mmrotate): OpenMMLab 旋转框检测工具箱与测试基准
-- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab 语义分割工具箱
-- [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab 全流程文字检测识别理解工具箱
-- [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab 姿态估计工具箱
-- [MMHuman3D](https://github.com/open-mmlab/mmhuman3d): OpenMMLab 人体参数化模型工具箱与测试基准
-- [MMSelfSup](https://github.com/open-mmlab/mmselfsup): OpenMMLab 自监督学习工具箱与测试基准
-- [MMRazor](https://github.com/open-mmlab/mmrazor): OpenMMLab 模型压缩工具箱与测试基准
-- [MMFewShot](https://github.com/open-mmlab/mmfewshot): OpenMMLab 少样本学习工具箱与测试基准
-- [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab 新一代视频理解工具箱
-- [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab 一体化视频目标感知平台
-- [MMFlow](https://github.com/open-mmlab/mmflow): OpenMMLab 光流估计工具箱与测试基准
-- [MMEditing](https://github.com/open-mmlab/mmediting): OpenMMLab 图像视频编辑工具箱
-- [MMGeneration](https://github.com/open-mmlab/mmgeneration): OpenMMLab 图片视频生成模型工具箱
-- [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab 模型部署框架
+- [通用的 IO 接口](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/io.html)
+- [图像和视频处理](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/data_process.html)
+- [图像和标注结果可视化](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/visualization.html)
+- [常用小工具(进度条,计时器等)](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/utils.html)
+- [基于 PyTorch 的通用训练框架](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/runner.html)
+- [多种 CNN 网络结构](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/cnn.html)
+- [高质量实现的 CPU 和 CUDA 算子](https://mmcv.readthedocs.io/zh_CN/latest/understand_mmcv/ops.html)
-MMCV 提供了如下众多功能:
-
-- 通用的 IO 接口
-- 图像和视频处理
-- 图像和标注结果可视化
-- 常用小工具(进度条,计时器等)
-- 基于 PyTorch 的通用训练框架
-- 多种 CNN 网络结构
-- 高质量实现的常见 CUDA 算子
-
-MMCV 支持以下的系统:
+MMCV 支持多种平台,包括:
- Linux
- Windows
- macOS
-如想了解更多特性和使用,请参考[文档](http://mmcv.readthedocs.io/zh_CN/latest)。
+如想了解更多特性和用法,请参考[文档](http://mmcv.readthedocs.io/zh_CN/latest)。
提示: MMCV 需要 Python 3.6 以上版本。
@@ -75,178 +55,83 @@ MMCV 支持以下的系统:
MMCV 有两个版本:
-- **mmcv-full**: 完整版,包含所有的特性以及丰富的开箱即用的 CUDA 算子。注意完整版本可能需要更长时间来编译。
-- **mmcv**: 精简版,不包含 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用 CUDA 算子的话,精简版可以作为一个考虑选项。
-
-**注意**: 请不要在同一个环境中安装两个版本,否则可能会遇到类似 `ModuleNotFound` 的错误。在安装一个版本之前,需要先卸载另一个。`如果CUDA可用,强烈推荐安装mmcv-full`。
+- **mmcv-full**: 完整版,包含所有的特性以及丰富的开箱即用的 CPU 和 CUDA 算子。
+- **mmcv**: 精简版,不包含 CPU 和 CUDA 算子但包含其余所有特性和功能,类似 MMCV 1.0 之前的版本。如果你不需要使用算子的话,精简版可以作为一个考虑选项。
-a. 安装完整版
+**注意**: 请不要在同一个环境中安装两个版本,否则可能会遇到类似 `ModuleNotFound` 的错误。在安装一个版本之前,需要先卸载另一个。`如果 CUDA 可用,强烈推荐安装 mmcv-full`。
-在安装 mmcv-full 之前,请确保 PyTorch 已经成功安装在环境中,可以参考 PyTorch [官方文档](https://pytorch.org/)。
+### 安装 mmcv-full
-我们提供了 **Linux 和 Windows 平台** PyTorch 和 CUDA 版本组合的 mmcv-full 预编译包,可以大大简化用户安装编译过程。强烈推荐通过预编译包来安装。另外,安装完成后可以运行 [check_installation.py](.dev_scripts/check_installation.py) 脚本检查 mmcv-full 是否安装成功。
+在安装 mmcv-full 之前,请确保 PyTorch 已经成功安装在环境中,可以参考 [PyTorch 官方安装文档](https://github.com/pytorch/pytorch#installation)。
-i. 安装最新版本
+在 Linux 和 Windows 平台安装 mmcv-full 的命令如下(如果你的系统是 macOS,请参考[源码安装 mmcv-full](https://mmcv.readthedocs.io/zh_CN/latest/get_started/build.html#macos-mmcv-full))
-如下是安装最新版 `mmcv-full` 的命令
-
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
+```bash
+pip install -U openmim
+mim install mmcv-full
```
-请将链接中的 `{cu_version}` 和 `{torch_version}` 根据自身需求替换成实际的版本号,例如想安装和 `CUDA 11.1`、`PyTorch 1.9.0` 兼容的最新版 `mmcv-full`,使用如下替换过的命令
+如果需要指定 mmcv-full 的版本,可以使用以下命令
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
+```bash
+mim install mmcv-full==1.5.0
```
-**注意**: 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。
-
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html
-```
+如果发现上述的安装命令没有使用预编译包(以 `.whl` 结尾)而是使用源码包(以 `.tar.gz` 结尾)安装,则有可能是我们没有提供和当前环境的 PyTorch 版本、CUDA 版本相匹配的 mmcv-full 预编译包,此时,你可以[源码安装 mmcv-full](https://mmcv.readthedocs.io/zh_CN/latest/get_started/build.html)。
-如果想知道更多 CUDA 和 PyTorch 版本的命令,可以参考下面的表格,将链接中的 `=={mmcv_version}` 删去即可。
+
+使用预编译包的安装日志
-ii. 安装特定的版本
+Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
+Collecting mmcv-full
+Downloading https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/mmcv_full-1.6.1-cp38-cp38-manylinux1_x86_64.whl
-如下是安装特定版本 `mmcv-full` 的命令
+
-```shell
-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 版本,使用如下替换过的命令
+Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
+Collecting mmcv-full==1.6.0
+Downloading mmcv-full-1.6.0.tar.gz
-```shell
-pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
-```
+
-对于更多的 PyTorch 和 CUDA 版本组合,请参考下表:
-
-
diff --git a/docker/release/Dockerfile b/docker/release/Dockerfile
index 493aa6d1625..1f10acc2bf6 100644
--- a/docker/release/Dockerfile
+++ b/docker/release/Dockerfile
@@ -16,5 +16,8 @@ RUN apt-get update && apt-get install -y libgl1 libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# Install mmcv-full
-ARG MMCV="1.5.1"
-RUN pip install openmim && mim install mmcv-full==${MMCV} && python -c 'import mmcv;print(mmcv.__version__)'
+ARG MMCV=""
+RUN if [ "${MMCV}" = "" ]; then pip install -U openmim && mim install mmcv-full; else pip install -U openmim && mim install mmcv-full==${MMCV}; fi
+
+# Verify the installation
+RUN python -c 'import mmcv;print(mmcv.__version__)'
diff --git a/docs/en/_static/version.json b/docs/en/_static/version.json
new file mode 100644
index 00000000000..a1643eedbb8
--- /dev/null
+++ b/docs/en/_static/version.json
@@ -0,0 +1,1931 @@
+{
+ "Linux": [
+ {
+ "cuda": "11.6",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "11.5",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "11.3",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "11.3",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "11.3",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16"
+ ]
+ },
+ {
+ "cuda": "11.1",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16"
+ ]
+ },
+ {
+ "cuda": "11.1",
+ "torch": "1.9.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10"
+ ]
+ },
+ {
+ "cuda": "11.1",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0"
+ ]
+ },
+ {
+ "cuda": "11.0",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.9.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.4.x",
+ "mmcv": [
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.3.x",
+ "mmcv": [
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.1",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "10.0",
+ "torch": "1.4.x",
+ "mmcv": [
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "10.0",
+ "torch": "1.3.x",
+ "mmcv": [
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.1",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "9.2",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0"
+ ]
+ },
+ {
+ "cuda": "9.2",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5"
+ ]
+ },
+ {
+ "cuda": "9.2",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "9.2",
+ "torch": "1.4.x",
+ "mmcv": [
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "9.2",
+ "torch": "1.3.x",
+ "mmcv": [
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.1",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.9.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.18",
+ "1.3.17",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.2",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.4.x",
+ "mmcv": [
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.3.x",
+ "mmcv": [
+ "1.3.9",
+ "1.3.8",
+ "1.3.7",
+ "1.3.6",
+ "1.3.5",
+ "1.3.4",
+ "1.3.3",
+ "1.3.2",
+ "1.3.16",
+ "1.3.15",
+ "1.3.14",
+ "1.3.13",
+ "1.3.12",
+ "1.3.11",
+ "1.3.10",
+ "1.3.1",
+ "1.3.0",
+ "1.2.7",
+ "1.2.6",
+ "1.2.5",
+ "1.2.4",
+ "1.2.3",
+ "1.2.1",
+ "1.2.0",
+ "1.1.6",
+ "1.1.5",
+ "1.1.4",
+ "1.1.3",
+ "1.1.2",
+ "1.1.1",
+ "1.1.0",
+ "1.0.5",
+ "1.0.4",
+ "1.0.3",
+ "1.0.2",
+ "1.0.1",
+ "1.0.0"
+ ]
+ }
+ ],
+ "Windows": [
+ {
+ "cuda": "11.6",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "11.5",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "11.3",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "11.3",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "11.3",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "11.1",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "11.1",
+ "torch": "1.9.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "11.1",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.9.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.1.5",
+ "1.1.3"
+ ]
+ },
+ {
+ "cuda": "10.2",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.1.5",
+ "1.1.3"
+ ]
+ },
+ {
+ "cuda": "10.1",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.12.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.11.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.10.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.9.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.8.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.7.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.6.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0",
+ "1.1.5",
+ "1.1.3"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.5.x",
+ "mmcv": [
+ "1.6.2",
+ "1.6.1",
+ "1.6.0",
+ "1.5.3",
+ "1.5.2",
+ "1.5.1",
+ "1.5.0",
+ "1.4.8",
+ "1.4.7",
+ "1.4.6",
+ "1.4.5",
+ "1.4.4",
+ "1.4.3",
+ "1.4.2",
+ "1.4.1",
+ "1.4.0"
+ ]
+ },
+ {
+ "cuda": "cpu",
+ "torch": "1.4.x",
+ "mmcv": [
+ "1.1.5"
+ ]
+ }
+ ]
+}
diff --git a/docs/en/conf.py b/docs/en/conf.py
index e38dfab1d26..08f5f7eb7df 100644
--- a/docs/en/conf.py
+++ b/docs/en/conf.py
@@ -56,6 +56,8 @@
myst_heading_anchors = 4
+myst_enable_extensions = ['colon_fence']
+
autodoc_mock_imports = ['mmcv._ext', 'mmcv.utils.ext_loader', 'torchvision']
# Add any paths that contain templates here, relative to this directory.
diff --git a/docs/en/get_started/build.md b/docs/en/get_started/build.md
index d987c1e17e2..c03bea59125 100644
--- a/docs/en/get_started/build.md
+++ b/docs/en/get_started/build.md
@@ -1,58 +1,124 @@
## Build MMCV from source
-### Build on Linux or macOS
+### Build mmcv-full
-After cloning the repo with
+Before installing mmcv-full, make sure that PyTorch has been successfully installed following the [PyTorch official installation guide](https://pytorch.org/get-started/locally/#start-locally). This can be verified using the following command
```bash
-git clone https://github.com/open-mmlab/mmcv.git
-cd mmcv
+python -c 'import torch;print(torch.__version__)'
```
-It is recommended to install `ninja` to speed up the compilation
+If version information is output, then PyTorch is installed.
-```bash
-pip install -r requirements/optional.txt
+```{note}
+- To compile ONNX Runtime custom operators, please refer to [How to build custom operators for ONNX Runtime](https://mmcv.readthedocs.io/en/latest/deployment/onnxruntime_op.html#how-to-build-custom-operators-for-onnx-runtime)
+- To compile TensorRT customization, please refer to [How to build TensorRT plugins in MMCV](https://mmcv.readthedocs.io/en/latest/deployment/tensorrt_plugin.html#how-to-build-tensorrt-plugins-in-mmcv)
```
-You can either
+```{note}
+If you would like to use `opencv-python-headless` instead of `opencv-python`,
+e.g., in a minimum container environment or servers without GUI,
+you can first install it before installing MMCV to skip the installation of `opencv-python`.
+```
-- install the lite version
+#### Build on Linux
- ```bash
- pip install -e .
- ```
+1. Clone the repo
-- install the full version
+ ```bash
+ git clone https://github.com/open-mmlab/mmcv.git
+ cd mmcv
+ ```
- ```bash
- MMCV_WITH_OPS=1 pip install -e .
- ```
+2. Install `ninja` and `psutil` to speed up the compilation
-If you are on macOS, add the following environment variables before the installing command.
+ ```bash
+ pip install -r requirements/optional.txt
+ ```
-```bash
-CC=clang CXX=clang++ CFLAGS='-stdlib=libc++'
-```
+3. Check the nvcc version (requires 9.2+. Skip if no GPU available.)
-e.g.,
+ ```bash
+ nvcc --version
+ ```
-```bash
-CC=clang CXX=clang++ CFLAGS='-stdlib=libc++' MMCV_WITH_OPS=1 pip install -e .
-```
+ If the above command outputs the following message, it means that the nvcc setting is OK, otherwise you need to set CUDA_HOME.
+
+ ```
+ nvcc: NVIDIA (R) Cuda compiler driver
+ Copyright (c) 2005-2020 NVIDIA Corporation
+ Built on Mon_Nov_30_19:08:53_PST_2020
+ Cuda compilation tools, release 11.2, V11.2.67
+ Build cuda_11.2.r11.2/compiler.29373293_0
+ ```
+
+ :::{note}
+ If you want to support ROCm, you can refer to [AMD ROCm](https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html) to install ROCm.
+ :::
+
+4. Check the gcc version (requires 5.4+)
+
+ ```bash
+ gcc --version
+ ```
+
+5. Start building (takes 10+ min)
+
+ ```bash
+ MMCV_WITH_OPS=1 pip install -e . -v
+ ```
+
+6. Validate the installation
+
+ ```bash
+ python .dev_scripts/check_installation.py
+ ```
+
+ If no error is reported by the above command, the installation is successful. If there is an error reported, please check [Frequently Asked Questions](../faq.md) to see if there is already a solution.
+
+ If no solution is found, please feel free to open an [issue](https://github.com/open-mmlab/mmcv/issues).
+
+#### Build on macOS
```{note}
-If you would like to use `opencv-python-headless` instead of `opencv-python`,
-e.g., in a minimum container environment or servers without GUI,
-you can first install it before installing MMCV to skip the installation of `opencv-python`.
+If you are using a mac with an M1 chip, install the nightly version of PyTorch, otherwise you will encounter the problem in [issues#2218](https://github.com/open-mmlab/mmcv/issues/2218).
```
-### Build on Windows
+1. Clone the repo
+
+ ```bash
+ git clone https://github.com/open-mmlab/mmcv.git
+ cd mmcv
+ ```
+
+2. Install `ninja` and `psutil` to speed up the compilation
+
+ ```bash
+ pip install -r requirements/optional.txt
+ ```
+
+3. Start building
+
+ ```bash
+ MMCV_WITH_OPS=1 pip install -e .
+ ```
+
+4. Validate the installation
+
+ ```bash
+ python .dev_scripts/check_installation.py
+ ```
+
+ If no error is reported by the above command, the installation is successful. If there is an error reported, please check [Frequently Asked Questions](../faq.md) to see if there is already a solution.
+
+ If no solution is found, please feel free to open an [issue](https://github.com/open-mmlab/mmcv/issues).
+
+#### Build on Windows
Building MMCV on Windows is a bit more complicated than that on Linux.
The following instructions show how to get this accomplished.
-#### Prerequisite
+##### Prerequisite
The following software is required for building MMCV on windows.
Install them first.
@@ -71,7 +137,7 @@ Install them first.
You should know how to set up environment variables, especially `Path`, on Windows. The following instruction relies heavily on this skill.
```
-#### Setup Python Environment
+##### Common steps
1. Launch Anaconda prompt from Windows Start menu
@@ -79,62 +145,45 @@ You should know how to set up environment variables, especially `Path`, on Windo
2. Create a new conda environment
- ```shell
- conda create --name mmcv python=3.7 # 3.6, 3.7, 3.8 should work too as tested
- conda activate mmcv # make sure to activate environment before any operation
+ ```powershell
+ (base) PS C:\Users\xxx> conda create --name mmcv python=3.7
+ (base) PS C:\Users\xxx> conda activate mmcv # make sure to activate environment before any operation
```
3. Install PyTorch. Choose a version based on your need.
- ```shell
- conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
+ ```powershell
+ # CUDA version
+ (mmcv) PS C:\Users\xxx> conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
+ # CPU version
+ (mmcv) PS C:\Users\xxx> conda install install pytorch torchvision cpuonly -c pytorch
```
- We only tested PyTorch version >= 1.6.0.
-
-4. Prepare MMCV source code
+4. Clone the repo
- ```shell
- git clone https://github.com/open-mmlab/mmcv.git
- cd mmcv
+ ```powershell
+ (mmcv) PS C:\Users\xxx> git clone https://github.com/open-mmlab/mmcv.git
+ (mmcv) PS C:\Users\xxx\mmcv> cd mmcv
```
-5. Install required Python packages
+5. Install `ninja` and `psutil` to speed up the compilation
- ```shell
- pip3 install -r requirements/runtime.txt
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> pip install -r requirements/optional.txt
```
-6. It is recommended to install `ninja` to speed up the compilation
+6. Install required Python packages
- ```bash
- pip install -r requirements/optional.txt
+ ```shell
+ (mmcv) PS C:\Users\xxx\mmcv> pip install -r requirements/runtime.txt
```
-#### Build and install MMCV
-
-MMCV can be built in three ways:
-
-1. Lite version (without ops)
-
- In this way, no custom ops are compiled and mmcv is a pure python package.
-
-2. Full version (CPU ops)
-
- Module `ops` will be compiled as a pytorch extension, but only x86 code will be compiled. The compiled ops can be executed on CPU only.
-
-3. Full version (CUDA ops)
-
- Both x86 and CUDA codes of `ops` module will be compiled. The compiled version can be run on both CPU and CUDA-enabled GPU (if implemented).
-
-##### Common steps
-
-1. Set up MSVC compiler
+7. Set up MSVC compiler
Set Environment variable, add `C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx86\x64` to `PATH`, so that `cl.exe` will be available in prompt, as shown below.
- ```none
- (base) PS C:\Users\xxx> cl
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> cl
Microsoft (R) C/C++ Optimizing Compiler Version 19.27.29111 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
@@ -145,124 +194,135 @@ MMCV can be built in three ways:
You may want to change the system language to English because pytorch will parse text output from `cl.exe` to check its version. However only utf-8 is recognized. Navigate to Control Panel -> Region -> Administrative -> Language for Non-Unicode programs and change it to English.
-##### Option 1: Build MMCV (lite version)
+##### Build and install MMCV
-After finishing above common steps, launch Anaconda shell from Start menu and issue the following commands:
+mmcv-full can be built in two ways:
-```shell
-# activate environment
-conda activate mmcv
-# change directory
-cd mmcv
-# install
-python setup.py develop
-# check
-pip list
-```
+1. Full version (CPU ops)
-##### Option 2: Build MMCV (full version with CPU)
+ Module `ops` will be compiled as a pytorch extension, but only x86 code will be compiled. The compiled ops can be executed on CPU only.
-1. Finish above common steps
+2. Full version (CUDA ops)
-2. Set up environment variables
+ Both x86 and CUDA codes of `ops` module will be compiled. The compiled version can be run on both CPU and CUDA-enabled GPU (if implemented).
- ```shell
- $env:MMCV_WITH_OPS = 1
- $env:MAX_JOBS = 8 # based on your available number of CPU cores and amount of memory
- ```
+###### CPU version
-3. Following build steps of the lite version
+1. Set up environment variables
- ```shell
- # activate environment
- conda activate mmcv
- # change directory
- cd mmcv
- # build
- python setup.py build_ext # if success, cl will be launched to compile ops
- # install
- python setup.py develop
- # check
- pip list
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> $env:MMCV_WITH_OPS = 1
```
-##### Option 3: Build MMCV (full version with CUDA)
+2. Build and install
-1. Finish above common steps
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> python setup.py build_ext
+ (mmcv) PS C:\Users\xxx\mmcv> python setup.py develop
+ ```
+
+###### GPU version
2. Make sure `CUDA_PATH` or `CUDA_HOME` is already set in `envs` via `ls env:`, desired output is shown as below:
- ```none
- (base) PS C:\Users\WRH> ls env:
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> ls env:
Name Value
---- -----
- <... omit some lines ...>
CUDA_PATH C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
CUDA_PATH_V10_1 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
CUDA_PATH_V10_2 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
- <... omit some lines ...>
```
This should already be done by CUDA installer. If not, or you have multiple version of CUDA toolkit installed, set it with
- ```shell
- $env:CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2"
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> $env:CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2"
# OR
- $env:CUDA_HOME = $env:CUDA_PATH_V10_2 # if CUDA_PATH_V10_2 is in envs:
+ (mmcv) PS C:\Users\xxx\mmcv> $env:CUDA_HOME = $env:CUDA_PATH_V10_2 # if CUDA_PATH_V10_2 is in envs:
```
3. Set CUDA target arch
```shell
- # Suppose you are using GTX 1080, which is of capability 6.1
- $env:TORCH_CUDA_ARCH_LIST="6.1"
- # OR build all supported arch, will be slow
- $env:TORCH_CUDA_ARCH_LIST="3.5 3.7 5.0 5.2 6.0 6.1 7.0 7.5"
+ # Here you need to change to the target architecture corresponding to your GPU
+ (mmcv) PS C:\Users\xxx\mmcv> $env:TORCH_CUDA_ARCH_LIST="7.5"
```
-```{note}
-Check your the compute capability of your GPU from [here](https://developer.nvidia.com/cuda-gpus).
-```
+ :::{note}
+ Check your the compute capability of your GPU from [here](https://developer.nvidia.com/cuda-gpus).
-4. Launch compiling the same way as CPU
+ ```powershell
+ (mmcv) PS C:\Users\xxx\mmcv> &"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite\deviceQuery.exe"
+ Device 0: "NVIDIA GeForce GTX 1660 SUPER"
+ CUDA Driver Version / Runtime Version 11.7 / 11.1
+ CUDA Capability Major/Minor version number: 7.5
+ ```
- ```shell
- $env:MMCV_WITH_OPS = 1
- $env:MAX_JOBS = 8 # based on available number of CPU cores and amount of memory
- # activate environment
- conda activate mmcv
- # change directory
- cd mmcv
+ The 7.5 above indicates the target architecture. Note: You need to replace v10.2 with your CUDA version in the above command.
+ :::
+
+4. Build and install
+
+ ```powershell
# build
python setup.py build_ext # if success, cl will be launched to compile ops
# install
python setup.py develop
- # check
- pip list
```
-```{note}
-If you are compiling against PyTorch 1.6.0, you might meet some errors from PyTorch as described in [this issue](https://github.com/pytorch/pytorch/issues/42467). Follow [this pull request](https://github.com/pytorch/pytorch/pull/43380/files) to modify the source code in your local PyTorch installation.
+ ```{note}
+ If you are compiling against PyTorch 1.6.0, you might meet some errors from PyTorch as described in [this issue](https://github.com/pytorch/pytorch/issues/42467). Follow [this pull request](https://github.com/pytorch/pytorch/pull/43380/files) to modify the source code in your local PyTorch installation.
+ ```
+
+##### Validate installation
+
+```powershell
+(mmcv) PS C:\Users\xxx\mmcv> python .dev_scripts/check_installation.py
```
-If you meet issues when running or compiling mmcv, we list some common issues in [Frequently Asked Question](../faq.html).
+If no error is reported by the above command, the installation is successful. If there is an error reported, please check [Frequently Asked Questions](../faq.md) to see if there is already a solution.
+If no solution is found, please feel free to open an [issue](https://github.com/open-mmlab/mmcv/issues).
+
+### Build mmcv
+
+If you need to use PyTorch-related modules, make sure PyTorch has been successfully installed in your environment by referring to the [PyTorch official installation guide](https://github.com/pytorch/pytorch#installation).
+
+1. Clone the repo
-## \[Optional\] Build MMCV on IPU machine
+ ```bash
+ git clone https://github.com/open-mmlab/mmcv.git
+ cd mmcv
+ ```
+
+2. Start building
+
+ ```bash
+ pip install -e . -v
+ ```
+
+3. Validate installation
+
+ ```bash
+ python -c 'import mmcv;print(mmcv.__version__)'
+ ```
+
+### Build mmcv-full on IPU machine
Firstly, you need to apply for an IPU cloud machine, see [here](https://www.graphcore.ai/ipus-in-the-cloud).
-### Option 1: Docker
+#### Option 1: Docker
1. Pull docker
-```shell
- docker pull graphcore/pytorch
-```
+ ```bash
+ docker pull graphcore/pytorch
+ ```
2. Build MMCV under same python environment
-### Option 2: Install from SDK
+#### Option 2: Install from SDK
1. Build MMCV
diff --git a/docs/en/get_started/installation.md b/docs/en/get_started/installation.md
index d9fd1b33607..ea1a095aae5 100644
--- a/docs/en/get_started/installation.md
+++ b/docs/en/get_started/installation.md
@@ -2,183 +2,374 @@
There are two versions of MMCV:
-- **mmcv-full**: comprehensive, with full features and various CUDA ops out of box. It takes longer time to build.
-- **mmcv**: lite, without CUDA ops but all other features, similar to mmcv\<1.0.0. It is useful when you do not need those CUDA ops.
+- **mmcv-full**: comprehensive, with full features and various CPU and CUDA ops out of box. It takes longer time to build.
+- **mmcv**: lite, without CPU and CUDA ops but all other features, similar to mmcv\<1.0.0. It is useful when you do not need those CUDA ops.
```{warning}
Do not install both versions in the same environment, otherwise you may encounter errors like `ModuleNotFound`. You need to uninstall one before installing the other. `Installing the full version is highly recommended if CUDA is avaliable`.
```
-a. Install the full version.
+### Install mmcv-full
-Before installing mmcv-full, make sure that PyTorch has been successfully installed following the [official guide](https://pytorch.org/).
+```{note}
+- The following installation steps are for Linux and Windows platforms only. To install mmcv-full on macOS platform, please refer to [build mmcv-full from source](https://mmcv.readthedocs.io/en/latest/get_started/build.html#macos-mmcv-full).
+- To compile ONNX Runtime custom operators, please refer to [How to build custom operators for ONNX Runtime](https://mmcv.readthedocs.io/en/latest/deployment/onnxruntime_op.html#how-to-build-custom-operators-for-onnx-runtime)
+- To compile TensorRT customization, please refer to [How to build TensorRT plugins in MMCV](https://mmcv.readthedocs.io/en/latest/deployment/tensorrt_plugin.html#how-to-build-tensorrt-plugins-in-mmcv)
+```
-We provide pre-built mmcv packages (recommended) with different PyTorch and CUDA versions to simplify the building for **Linux and Windows systems**. In addition, you can run [check_installation.py](.dev_scripts/check_installation.py) to check the installation of mmcv-full after running the installation commands.
+Before installing mmcv-full, make sure that PyTorch has been successfully installed following the [PyTorch official installation guide](https://pytorch.org/get-started/locally/#start-locally). This can be verified using the following command
-i. Install the latest version.
+```bash
+python -c 'import torch;print(torch.__version__)'
+```
-The rule for installing the latest `mmcv-full` is as follows:
+If version information is output, then PyTorch is installed.
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
-```
+#### Install with mim (recommended)
-Please replace `{cu_version}` and `{torch_version}` in the url to your desired one. For example,
-to install the latest `mmcv-full` with `CUDA 11.1` and `PyTorch 1.9.0`, use the following command:
+[mim](https://github.com/open-mmlab/mim) is the package management tool for the OpenMMLab projects, which makes it easy to install mmcv-full
-```shell
-pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
+```bash
+pip install -U openmim
+mim install mmcv-full
```
-For more details, please refer the the following tables and delete `=={mmcv_version}`.
+If you find that the above installation command does not use a pre-built package ending with `.whl` but a source package ending with `.tar.gz`, you may not have a pre-build package corresponding to the PyTorch or CUDA or mmcv-full version, in which case you can [build mmcv-full from source](build.md).
+
+
+Installation log using pre-built packages
+
+Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
+Collecting mmcv-full
+Downloading https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/mmcv_full-1.6.1-cp38-cp38-manylinux1_x86_64.whl
+
+
+
+
+Installation log using source packages
+
+Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html
+Collecting mmcv-full==1.6.0
+Downloading mmcv-full-1.6.0.tar.gz
-ii. Install a specified version.
+
-The rule for installing a specified `mmcv-full` is as follows:
+To install a specific version of mmcv-full, for example, mmcv-full version 1.6.0, you can use the following command
-```shell
-pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
+```bash
+mim install mmcv-full==1.6.0
```
-First of all, please refer to the Releases and replace `{mmcv_version}` a specified one. e.g. `1.3.9`.
-Then replace `{cu_version}` and `{torch_version}` in the url to your desired versions. For example,
-to install `mmcv-full==1.3.9` with `CUDA 11.1` and `PyTorch 1.9.0`, use the following command:
+:::{note}
+If you would like to use `opencv-python-headless` instead of `opencv-python`,
+e.g., in a minimum container environment or servers without GUI,
+you can first install it before installing MMCV to skip the installation of `opencv-python`.
-```shell
-pip install mmcv-full==1.3.9 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html
+Alternatively, if it takes too long to install a dependency library, you can specify the pypi source
+
+```bash
+mim install mmcv-full -i https://pypi.tuna.tsinghua.edu.cn/simple
```
-```{note}
+:::
+
+You can run [check_installation.py](https://github.com/open-mmlab/mmcv/.dev_scripts/check_installation.py) to check the installation of mmcv-full after running the installation commands.
+
+#### Install with pip
+
+Use the following command to check the version of CUDA and PyTorch
+
+```bash
+python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'
+```
+
+Select the appropriate installation command depending on the type of system, CUDA version, PyTorch version, and MMCV version
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+If you do not find a corresponding version in the dropdown box above, you probably do not have a pre-built package corresponding to the PyTorch or CUDA or mmcv-full version, at which point you can [build mmcv-full from source](build.md).
+
+:::{note}
mmcv-full is only compiled on PyTorch 1.x.0 because the compatibility
usually holds between 1.x.0 and 1.x.1. If your PyTorch version is 1.x.1, you
can install mmcv-full compiled with PyTorch 1.x.0 and it usually works well.
-For example, if your PyTorch version is 1.8.1 and CUDA version is 11.1, you
-can use the following command to install mmcv-full.
+For example, if your PyTorch version is 1.8.1, you can feel free to choose 1.8.x.
+:::
+
+:::{note}
+If you would like to use `opencv-python-headless` instead of `opencv-python`,
+e.g., in a minimum container environment or servers without GUI,
+you can first install it before installing MMCV to skip the installation of `opencv-python`.
-`pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8.0/index.html`
+Alternatively, if it takes too long to install a dependency library, you can specify the pypi source
+
+```bash
+mim install mmcv-full -i https://pypi.tuna.tsinghua.edu.cn/simple
```
-For more details, please refer the the following tables.
-
-