OpenMMLab Computer Vision Foundation
 
 
 
 
Go to file
q.yao 94810f2297
[Feature]: Add custom operators support for onnxruntime in mmcv (#612)
* add onnx support to roi_align and roi_pool

* add softnms ort support

* fix for lint

* format cpp code with clang-format:google

* add new empty line to the end of head files in onnxruntime

* update to pytorch1.7

* add test of softnms to onnxruntime

* fix for lint

* remote print in ops/info.py

* change import order, fix for flake8

* fix include

* add assert torch>=1.7.0

* [doc]: add document for onnxruntime custom operator

* update onnxruntime version to v1.5.1 for softnms

* remove doc menu

* Resolve lint for markdown

* resolve naming style in onnxruntime_op.md

* Use old cpp apis, optimize test_onnx.py

* Fixing strings in tests/test_ops/test_onnx.py

* code format with yapf

* fix soft_nms parrot

* add import in onnxruntime setup, avoid conflict

* fix doc and add assert

* change cpp guard

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2020-12-23 11:03:55 +08:00
.github/workflows Lml/jit decorator (#673) 2020-12-15 18:20:37 +08:00
docs [Feature]: Add custom operators support for onnxruntime in mmcv (#612) 2020-12-23 11:03:55 +08:00
examples Fix docstring formats (#383) 2020-07-04 00:55:25 +08:00
mmcv [Feature]: Add custom operators support for onnxruntime in mmcv (#612) 2020-12-23 11:03:55 +08:00
requirements Support pytorch 1.7 and update the CI (#631) 2020-10-31 17:58:15 +08:00
tests [Feature]: Add custom operators support for onnxruntime in mmcv (#612) 2020-12-23 11:03:55 +08:00
.dockerignore fix dependencies (#146) 2019-11-21 23:34:26 +08:00
.gitignore [Refactor] remove the c implementation of flow_warp (#707) 2020-12-13 19:43:25 +08:00
.pre-commit-config.yaml lint markdown files (#592) 2020-09-29 10:44:44 +08:00
.readthedocs.yml Support pytorch 1.7 and update the CI (#631) 2020-10-31 17:58:15 +08:00
CONTRIBUTING.md lint markdown files (#592) 2020-09-29 10:44:44 +08:00
Dockerfile fix dependencies (#146) 2019-11-21 23:34:26 +08:00
Jenkinsfile Update jenkinsfile (#444) 2020-07-24 19:01:35 +08:00
LICENSE Add copyright header (#171) 2020-01-10 13:34:42 +08:00
MANIFEST.in [Refactor] remove the c implementation of flow_warp (#707) 2020-12-13 19:43:25 +08:00
README.md [Feature]: Add custom operators support for onnxruntime in mmcv (#612) 2020-12-23 11:03:55 +08:00
requirements.txt Replace `re` with `regex` (#457) 2020-08-03 11:45:50 +08:00
setup.cfg [Refactor] remove the c implementation of flow_warp (#707) 2020-12-13 19:43:25 +08:00
setup.py [Feature]: Add custom operators support for onnxruntime in mmcv (#612) 2020-12-23 11:03:55 +08:00

README.md

PyPI badge codecov license

Introduction

MMCV is a foundational python library for computer vision research and supports many research projects as below:

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+.

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.

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.

For pip < 20.3, please refer to the following table:

CUDA torch 1.7 torch 1.6 torch 1.5 torch 1.4 torch 1.3
11.0
install
pip install mmcv-full==latest+torch1.7.0+cu110 -f https://download.openmmlab.com/mmcv/dist/index.html
10.2
install
pip install mmcv-full==latest+torch1.7.0+cu102 -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.6.0+cu102 -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.5.0+cu102 -f https://download.openmmlab.com/mmcv/dist/index.html
10.1
install
 pip install mmcv-full==latest+torch1.7.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html
install
 pip install mmcv-full==latest+torch1.6.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html
install
 pip install mmcv-full==latest+torch1.5.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.4.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.3.0+cu101 -f https://download.openmmlab.com/mmcv/dist/index.html
9.2
install
 pip install mmcv-full==latest+torch1.7.0+cu92 -f https://download.openmmlab.com/mmcv/dist/index.html
install
 pip install mmcv-full==latest+torch1.6.0+cu92 -f https://download.openmmlab.com/mmcv/dist/index.html
install
 pip install mmcv-full==latest+torch1.5.0+cu92 -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.4.0+cu92 -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.3.0+cu92 -f https://download.openmmlab.com/mmcv/dist/index.html
cpu
install
 pip install mmcv-full==latest+torch1.7.0+cpu -f https://download.openmmlab.com/mmcv/dist/index.html
install
 pip install mmcv-full==latest+torch1.6.0+cpu -f https://download.openmmlab.com/mmcv/dist/index.html
install
 pip install mmcv-full==latest+torch1.5.0+cpu -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.4.0+cpu -f https://download.openmmlab.com/mmcv/dist/index.html
install
pip install mmcv-full==latest+torch1.3.0+cpu -f https://download.openmmlab.com/mmcv/dist/index.html

For pip >= 20.3, please refer to the following table:

(NOTE: Please refer to the Releases and replace {mmcv_version} a specified one. e.g. 1.2.1; BTW, specifying version using latest is currently disabled.)

CUDA torch 1.7 torch 1.6 torch 1.5 torch 1.4 torch 1.3
11.0
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html
10.2
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.7.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.6.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu102/torch1.5.0/index.html
10.1
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.6.0/index.html
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.5.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.4.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.3.0/index.html
9.2
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.7.0/index.html
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.6.0/index.html
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.5.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.4.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cu92/torch1.3.0/index.html
cpu
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.7.0/index.html
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.6.0/index.html
install
 pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.5.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.4.0/index.html
install
pip install mmcv-full==={mmcv_version} -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.3.0/index.html

Another way is to compile locally by running

pip install mmcv-full

c. Install full version with custom operators for onnxruntime

  • Check here for detailed instruction.

Note that the local compiling may take up to 10 mins.

If you would like to build MMCV from source, please refer to the guide.

FAQ

If you face some installation issues, CUDA related issues or RuntimeErrors, you may first refer to this Trouble Shooting Page.