MMCV is a foundational python library for computer vision research and supports many research projects as below:
- MMDetection: Detection toolbox and benchmark
- MMDetection3D: General 3D object detection toolbox and benchmark
- MMSegmentation: Semantic segmentation toolbox and benchmark
- MMEditing: Image and video editing toolbox
- MMPose: Pose estimation toolbox and benchmark
- MMAction2: Action understanding toolbox and benchmark
- MMClassification: Image classification toolbox and benchmark
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
See the documentation for more features and usage.
Note: MMCV requires Python 3.6+.
There are two versions of MMCV:
- 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 CUDA ops out of box. It takes longer time to build.
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.
a. Install the lite version.
pip install mmcv
b. Install the full version.
Before installing mmcv-full, make sure that PyTorch has been successfully installed following the official guide.
We provide pre-built mmcv packages (recommended) with different PyTorch and CUDA versions to simplify the building.
i. Install the latest version.
The rule for installing the latest mmcv-full
is as follows:
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
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
and PyTorch 1.7.0
, use the following command:
pip install mmcv-full -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
For more details, please refer the the following tables and delete =={mmcv_version}
.
ii. Install a specified version.
The rule for installing a specified mmcv-full
is as follows:
pip install mmcv-full=={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/{cu_version}/{torch_version}/index.html
First of all, please refer to the Releases and replace {mmcv_version}
a specified one. e.g. 1.2.2
.
Then replace {cu_version}
and {torch_version}
in the url to your desired versions. For example,
to install mmcv-full==1.2.2
with CUDA 11
and PyTorch 1.7.0
, use the following command:
pip install mmcv-full==1.2.2 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
For more details, please refer the the following tables.
CUDA | torch 1.7 | torch 1.6 | torch 1.5 | torch 1.4 | torch 1.3 |
---|---|---|---|---|---|
11.0 | install
|
||||
10.2 | install
|
install
|
install
|
||
10.1 | install
|
install
|
install
|
install
|
install
|
9.2 | install
|
install
|
install
|
install
|
install
|
cpu | install
|
install
|
install
|
install
|
install
|
Another way is to compile locally by running
pip install mmcv-full
c. Install full version with custom operators for onnxruntime
- Check here for detailed instruction.
Note that the local compiling may take up to 10 mins.
If you would like to build MMCV from source, please refer to the guide.
If you face some installation issues, CUDA related issues or RuntimeErrors, you may first refer to this Trouble Shooting Page.