MMCV is a foundational python library for computer vision research and supports many research projects in MMLAB 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.
a. Install the lite version.
pip install mmcv
b. Install the full version.
We provide the pre-built mmcv package with different PyTorch and CUDA versions to simplify the building.
CUDA | torch 1.5 | torch 1.4 | torch 1.3 |
---|---|---|---|
10.2 | install
| ||
10.1 | install
| install
| install
|
10.0 | |||
9.2 | install
| install
| install
|
cpu | install
| install
| install
|
Another way is to compile locally by running
pip install mmcv-full
Note that the local compiling may take up to 10 mins.
After cloning the repo with
git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
You can either
-
install the lite version
pip install -e .
-
install the full version
MMCV_WITH_OPS=1 pip install -e .
If you are on macOS, add the following environment variables before the installing command.
CC=lang CXX=clang++ CFLAGS='-stdlib=libc++'
e.g.,
CC=lang CXX=clang++ CFLAGS='-stdlib=libc++' MMCV_WITH_OPS=1 pip install -e .
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
.