2020-07-08 01:20:27 +08:00
< div align = "center" >
2022-01-13 16:40:12 +08:00
< img src = "https://raw.githubusercontent.com/open-mmlab/mmcv/master/docs/en/mmcv-logo.png" width = "300" / >
< div > < / div >
< div align = "center" >
< b > < font size = "5" > OpenMMLab website< / font > < / b >
< sup >
< a href = "https://openmmlab.com" >
< i > < font size = "4" > HOT< / font > < / i >
< / a >
< / sup >
< b > < font size = "5" > OpenMMLab platform< / font > < / b >
< sup >
< a href = "https://platform.openmmlab.com" >
< i > < font size = "4" > TRY IT OUT< / font > < / i >
< / a >
< / sup >
< / div >
< div > < / div >
2020-07-08 01:20:27 +08:00
< / div >
2022-08-30 19:01:34 +08:00
[](https://mmcv.readthedocs.io/en/2.x/)
2022-10-22 12:43:27 +08:00
[](https://mmcv.readthedocs.io/en/2.x/get_started/installation.html)
2022-01-10 16:26:37 +08:00
[](https://pypi.org/project/mmcv/)
2022-11-28 10:59:07 +08:00
[](https://pytorch.org/get-started/previous-versions/)
[](https://developer.nvidia.com/cuda-downloads)
2022-01-10 16:26:37 +08:00
[](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)
2020-07-08 01:20:27 +08:00
2021-02-21 21:24:53 +08:00
English | [简体中文 ](README_zh-CN.md )
2020-07-08 01:20:27 +08:00
## Introduction
2022-10-22 12:43:27 +08:00
MMCV is a foundational library for computer vision research and it provides the following functionalities:
2020-07-13 00:53:30 +08:00
2022-10-22 12:43:27 +08:00
- [Image/Video processing ](https://mmcv.readthedocs.io/en/2.x/understand_mmcv/data_process.html )
- [Image and annotation visualization ](https://mmcv.readthedocs.io/en/2.x/understand_mmcv/visualization.html )
- [Image transformation ](https://mmcv.readthedocs.io/en/2.x/understand_mmcv/data_transform.html )
- [Various CNN architectures ](https://mmcv.readthedocs.io/en/2.x/understand_mmcv/cnn.html )
- [High-quality implementation of common CPU and CUDA ops ](https://mmcv.readthedocs.io/en/2.x/understand_mmcv/ops.html )
2020-07-08 01:20:27 +08:00
2022-10-22 12:43:27 +08:00
It supports the following systems:
2022-03-23 23:41:51 +08:00
- Linux
- Windows
- macOS
2022-08-30 19:01:34 +08:00
See the [documentation ](http://mmcv.readthedocs.io/en/2.x ) for more features and usage.
2020-07-08 01:20:27 +08:00
2023-01-06 15:39:44 +08:00
Note: MMCV requires Python 3.7+.
2020-07-08 01:20:27 +08:00
## Installation
2020-07-09 02:19:02 +08:00
There are two versions of MMCV:
2020-07-08 01:20:27 +08:00
2022-10-22 12:43:27 +08:00
- **mmcv**: comprehensive, with full features and various CUDA ops out of the box. It takes longer time to build.
2022-08-30 16:24:06 +08:00
- **mmcv-lite**: 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.
2020-07-09 02:19:02 +08:00
2021-10-04 20:13:54 +08:00
**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. `Installing the full version is highly recommended if CUDA is available` .
2020-07-08 01:20:27 +08:00
2022-10-22 12:43:27 +08:00
### Install mmcv
2020-07-09 02:19:02 +08:00
2022-10-30 14:09:00 +08:00
Before installing mmcv, make sure that PyTorch has been successfully installed following the [PyTorch official installation guide ](https://github.com/pytorch/pytorch#installation ). For apple silicon users, please use PyTorch 1.13+.
2020-12-24 19:51:54 +08:00
2022-11-28 10:59:07 +08:00
The command to install mmcv:
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
```bash
pip install -U openmim
2022-10-24 23:10:30 +08:00
mim install "mmcv>=2.0.0rc1"
2020-12-24 19:51:54 +08:00
```
2022-11-28 10:59:07 +08:00
If you need to specify the version of mmcv, you can use the following command:
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
```bash
2022-11-28 10:59:07 +08:00
mim install mmcv==2.0.0rc3
2020-12-24 19:51:54 +08:00
```
2022-10-22 12:43:27 +08:00
If you find that the above installation command does not use a pre-built package ending with `.whl` but a source package ending with `.tar.gz` , you may not have a pre-build package corresponding to the PyTorch or CUDA or mmcv version, in which case you can [build mmcv from source ](https://mmcv.readthedocs.io/en/2.x/get_started/build.html ).
2021-10-13 20:25:49 +08:00
2022-10-22 12:43:27 +08:00
< details >
< summary > Installation log using pre-built packages< / summary >
2021-10-13 20:25:49 +08:00
2022-10-22 12:43:27 +08:00
Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html< br / >
Collecting mmcv< br / >
2022-11-28 10:59:07 +08:00
< b > Downloading https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/mmcv-2.0.0rc3-cp38-cp38-manylinux1_x86_64.whl< / b >
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
< / details >
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
< details >
< summary > Installation log using source packages< / summary >
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
Looking in links: https://download.openmmlab.com/mmcv/dist/cu102/torch1.8.0/index.html< br / >
2022-11-28 10:59:07 +08:00
Collecting mmcv==2.0.0rc3< br / >
< b > Downloading mmcv-2.0.0rc3.tar.gz< / b >
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
< / details >
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
For more installation methods, please refer to the [Installation documentation ](https://mmcv.readthedocs.io/en/2.x/get_started/installation.html ).
2020-12-24 19:51:54 +08:00
2022-10-22 12:43:27 +08:00
### Install mmcv-lite
2021-02-21 21:24:53 +08:00
2022-10-22 12:43:27 +08:00
If you need to use PyTorch-related modules, make sure PyTorch has been successfully installed in your environment by referring to the [PyTorch official installation guide ](https://github.com/pytorch/pytorch#installation ).
2021-04-25 19:25:14 +08:00
2022-10-22 12:43:27 +08:00
```bash
pip install -U openmim
2022-10-24 23:10:30 +08:00
mim install "mmcv-lite>=2.0.0rc1"
2021-04-25 19:25:14 +08:00
```
2020-12-22 17:02:42 +08:00
## FAQ
If you face some installation issues, CUDA related issues or RuntimeErrors,
2022-08-30 19:01:34 +08:00
you may first refer to this [Frequently Asked Questions ](https://mmcv.readthedocs.io/en/2.x/faq.html ).
2021-02-21 21:24:53 +08:00
2022-10-22 12:43:27 +08:00
If you face installation problems or runtime issues, you may first refer to this [Frequently Asked Questions ](https://mmcv.readthedocs.io/en/2.x/faq.html ) to see if there is a solution. If the problem is still not solved, feel free to open an [issue ](https://github.com/open-mmlab/mmcv/issues ).
2021-07-02 16:44:39 +08:00
## Citation
If you find this project useful in your research, please consider cite:
```latex
@misc {mmcv,
title={{MMCV: OpenMMLab} Computer Vision Foundation},
author={MMCV Contributors},
howpublished = {\url{https://github.com/open-mmlab/mmcv}},
year={2018}
}
```
2021-02-21 21:24:53 +08:00
## Contributing
2021-02-24 10:07:18 +08:00
We appreciate all contributions to improve MMCV. Please refer to [CONTRIBUTING.md ](CONTRIBUTING.md ) for the contributing guideline.
2021-05-13 21:55:44 +08:00
## License
MMCV is released under the Apache 2.0 license, while some specific operations in this library are with other licenses. Please refer to [LICENSES.md ](LICENSES.md ) for the careful check, if you are using our code for commercial matters.
2022-10-22 12:43:27 +08:00
## Projects in OpenMMLab
- [MMEngine ](https://github.com/open-mmlab/mmengine ): OpenMMLab foundational library for training deep learning models.
- [MMCV ](https://github.com/open-mmlab/mmcv ): OpenMMLab foundational library for computer vision.
- [MIM ](https://github.com/open-mmlab/mim ): MIM installs OpenMMLab packages.
- [MMClassification ](https://github.com/open-mmlab/mmclassification ): OpenMMLab image classification toolbox and benchmark.
- [MMDetection ](https://github.com/open-mmlab/mmdetection ): OpenMMLab detection toolbox and benchmark.
- [MMDetection3D ](https://github.com/open-mmlab/mmdetection3d ): OpenMMLab's next-generation platform for general 3D object detection.
- [MMRotate ](https://github.com/open-mmlab/mmrotate ): OpenMMLab rotated object detection toolbox and benchmark.
- [MMYOLO ](https://github.com/open-mmlab/mmyolo ): OpenMMLab YOLO series toolbox and benchmark.
- [MMSegmentation ](https://github.com/open-mmlab/mmsegmentation ): OpenMMLab semantic segmentation toolbox and benchmark.
- [MMOCR ](https://github.com/open-mmlab/mmocr ): OpenMMLab text detection, recognition, and understanding toolbox.
- [MMPose ](https://github.com/open-mmlab/mmpose ): OpenMMLab pose estimation toolbox and benchmark.
- [MMHuman3D ](https://github.com/open-mmlab/mmhuman3d ): OpenMMLab 3D human parametric model toolbox and benchmark.
- [MMSelfSup ](https://github.com/open-mmlab/mmselfsup ): OpenMMLab self-supervised learning toolbox and benchmark.
- [MMRazor ](https://github.com/open-mmlab/mmrazor ): OpenMMLab model compression toolbox and benchmark.
- [MMFewShot ](https://github.com/open-mmlab/mmfewshot ): OpenMMLab fewshot learning toolbox and benchmark.
- [MMAction2 ](https://github.com/open-mmlab/mmaction2 ): OpenMMLab's next-generation action understanding toolbox and benchmark.
- [MMTracking ](https://github.com/open-mmlab/mmtracking ): OpenMMLab video perception toolbox and benchmark.
- [MMFlow ](https://github.com/open-mmlab/mmflow ): OpenMMLab optical flow toolbox and benchmark.
- [MMEditing ](https://github.com/open-mmlab/mmediting ): OpenMMLab image and video editing toolbox.
- [MMGeneration ](https://github.com/open-mmlab/mmgeneration ): OpenMMLab image and video generative models toolbox.
- [MMDeploy ](https://github.com/open-mmlab/mmdeploy ): OpenMMLab model deployment framework.