2020-07-08 01:20:27 +08:00
|
|
|
<div align="center">
|
2020-07-08 12:47:37 +08:00
|
|
|
<img src="https://raw.githubusercontent.com/open-mmlab/mmcv/master/docs/mmcv-logo.png" width="300"/>
|
2020-07-08 01:20:27 +08:00
|
|
|
</div>
|
|
|
|
|
|
|
|
[](https://pypi.org/project/mmcv) [](https://github.com/open-mmlab/mmcv/actions) [](https://codecov.io/gh/open-mmlab/mmcv) [](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
|
|
|
|
|
2020-07-09 02:19:02 +08:00
|
|
|
There are two versions of MMCV:
|
2020-07-08 01:20:27 +08:00
|
|
|
|
2020-07-09 02:19:02 +08:00
|
|
|
- **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
|
2020-07-08 01:20:27 +08:00
|
|
|
pip install mmcv
|
|
|
|
```
|
|
|
|
|
2020-07-09 02:19:02 +08:00
|
|
|
b. Install the full version.
|
|
|
|
|
|
|
|
We provide the pre-built mmcv package with different PyTorch and CUDA versions to simplify the building.
|
|
|
|
|
|
|
|
<table class="docutils"><tbody><tr><th width="80"> CUDA </th><th valign="bottom" align="left" width="100">torch 1.5</th><th valign="bottom" align="left" width="100">torch 1.4</th><th valign="bottom" align="left" width="100">torch 1.3</th></tr>
|
2020-07-11 22:28:07 +08:00
|
|
|
<tr><td align="left">10.2</td><td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.5.0+cu102 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
2020-07-09 02:19:02 +08:00
|
|
|
</code></pre> </details> </td> <td align="left"> </td> <td align="left"> </td> </tr>
|
2020-07-11 22:28:07 +08:00
|
|
|
<tr><td align="left">10.1</td><td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full==latest+torch1.5.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
|
|
|
</code></pre> </details> </td> <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.4.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
|
|
|
</code></pre> </details> </td> <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.3.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
2020-07-09 02:19:02 +08:00
|
|
|
</code></pre> </details> </td></tr>
|
|
|
|
<tr><td align="left">10.0</td><td align="left"> </td><td align="left"> </td> <td align="left"> </td> </tr>
|
2020-07-11 22:28:07 +08:00
|
|
|
<tr><td align="left">9.2</td><td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full==latest+torch1.5.0+cu92 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
|
|
|
</code></pre> </details> </td> <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.4.0+cu92 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
|
|
|
</code></pre> </details> </td> <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.3.0+cu92 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
2020-07-09 02:19:02 +08:00
|
|
|
</code></pre> </details> </td></tr>
|
2020-07-11 22:28:07 +08:00
|
|
|
<tr><td align="left">cpu</td><td align="left"><details><summary> install </summary><pre><code> pip install mmcv-full==latest+torch1.5.0+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
|
|
|
</code></pre> </details> </td> <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.4.0+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
|
|
|
</code></pre> </details> </td> <td align="left"><details><summary> install </summary><pre><code>pip install mmcv-full==latest+torch1.3.0+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html
|
2020-07-09 02:19:02 +08:00
|
|
|
</code></pre> </details> </td> </tr>
|
|
|
|
</tbody></table>
|
|
|
|
|
|
|
|
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
|
2020-07-08 01:20:27 +08:00
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://github.com/open-mmlab/mmcv.git
|
|
|
|
cd mmcv
|
|
|
|
```
|
|
|
|
|
2020-07-09 02:19:02 +08:00
|
|
|
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.
|
2020-07-08 01:20:27 +08:00
|
|
|
|
|
|
|
```bash
|
2020-07-09 02:19:02 +08:00
|
|
|
CC=lang CXX=clang++ CFLAGS='-stdlib=libc++'
|
2020-07-08 01:20:27 +08:00
|
|
|
```
|
|
|
|
|
2020-07-09 02:19:02 +08:00
|
|
|
e.g.,
|
2020-07-08 01:20:27 +08:00
|
|
|
|
2020-07-09 02:19:02 +08:00
|
|
|
```bash
|
|
|
|
CC=lang CXX=clang++ CFLAGS='-stdlib=libc++' MMCV_WITH_OPS=1 pip install -e .
|
|
|
|
```
|
2020-07-08 01:20:27 +08:00
|
|
|
|
|
|
|
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`.
|