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.
CUDA | torch 1.6 | torch 1.5 | torch 1.4 | torch 1.3 |
---|---|---|---|---|
10.2 | install
|
install
|
||
10.1 | install
|
install
|
install
|
install
|
9.2 | install
|
install
|
install
|
install
|
cpu | install
|
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=clang CXX=clang++ CFLAGS='-stdlib=libc++'
e.g.,
CC=clang CXX=clang++ CFLAGS='-stdlib=libc++' MMCV_WITH_OPS=1 pip install -e .
If you are on Windows10, set the following environment variable before the installing command.
set MMCV_WITH_OPS=1
e.g.,
set 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
.
If you meet issues when running or compiling mmcv, we list some common issues in TROUBLESHOOTING.md.