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.
Install with pip¶
- Install the lite version.
pip install mmcv
- 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.5||torch 1.4||torch 1.3|
Another way is to compile locally by running
pip install mmcv-full
Note that the local compiling may take up to 10 mins.
Install from source¶
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++'
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
e.g., in a minimum container environment or servers without GUI,
you can first install it before installing MMCV to skip the installation of
- File IO
- CUDA ops
- API Documentation