[![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) [![codecov](https://codecov.io/gh/open-mmlab/mmcv/branch/master/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmcv) [![license](https://img.shields.io/github/license/open-mmlab/mmcv.svg)](https://github.com/open-mmlab/mmcv/blob/master/LICENSE) ## Introduction MMCV is a foundational python library for computer vision research and supports many research projects in MMLAB, such as [MMDetection](https://github.com/open-mmlab/mmdetection) and [MMAction](https://github.com/open-mmlab/mmaction). 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](http://mmcv.readthedocs.io/en/latest) for more features and usage. Note: MMCV requires Python 3.6+. ## Installation 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. ### Install with pip a. Install the lite version. ```python 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.5torch 1.4torch 1.3
10.2
install
pip install mmcv-full==latest+torch1.5.0+cu102 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
10.1
install
 pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.4.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.3.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
10.0
9.2
install
 pip install mmcv-full==latest+torch1.5.0+cu92 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.4.0+cu92 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.3.0+cu92 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
cpu
install
 pip install mmcv-full==latest+torch1.5.0+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.4.0+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.3.0+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
Another way is to compile locally by running ```python pip install mmcv-full ``` Note that the local compiling may take up to 10 mins. ### Install from source After cloning the repo with ```bash git clone https://github.com/open-mmlab/mmcv.git cd mmcv ``` You can either - install the lite version ```bash pip install -e . ``` - install the full version ```bash MMCV_WITH_OPS=1 pip install -e . ``` If you are on macOS, add the following environment variables before the installing command. ```bash CC=lang CXX=clang++ CFLAGS='-stdlib=libc++' ``` e.g., ```bash 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`.