/mmdeploy

Primary LanguagePythonApache License 2.0Apache-2.0

 
OpenMMLab website HOT      OpenMMLab platform TRY IT OUT
 

docs badge codecov license issue resolution open issues

English | 简体中文

Introduction

MMDeploy is an open-source deep learning model deployment toolset. It is a part of the OpenMMLab project.

Main features

Fully support OpenMMLab models

The currently supported codebases and models are as follows, and more will be included in the future

Multiple inference backends are available

The supported Device-Platform-InferenceBackend matrix is presented as following, and more will be compatible.

The benchmark can be found from here

Device / Platform Linux Windows macOS Android
x86_64 CPU ✔️ONNX Runtime
✔️pplnn
✔️ncnn
✔️OpenVINO
✔️LibTorch
✔️ONNX Runtime
✔️OpenVINO
- -
ARM CPU ✔️ncnn - - ✔️ncnn
RISC-V ✔️ncnn - - -
NVIDIA GPU ✔️ONNX Runtime
✔️TensorRT
✔️pplnn
✔️LibTorch
✔️ONNX Runtime
✔️TensorRT
✔️pplnn
- -
NVIDIA Jetson ✔️TensorRT ✔️TensorRT - -
Huawei ascend310 ✔️CANN - - -
Rockchip ✔️RKNN - - -
Apple M1 - - ✔️CoreML -
Adreno GPU - - - ✔️ncnn
✔️SNPE
Hexagon DSP - - - ✔️SNPE

Efficient and scalable C/C++ SDK Framework

All kinds of modules in the SDK can be extended, such as Transform for image processing, Net for Neural Network inference, Module for postprocessing and so on

Please read getting_started for the basic usage of MMDeploy. We also provide tutoials about:

Benchmark and Model zoo

You can find the supported models from here and their performance in the benchmark.

Contributing

We appreciate all contributions to MMDeploy. Please refer to CONTRIBUTING.md for the contributing guideline.

Acknowledgement

We would like to sincerely thank the following teams for their contributions to MMDeploy:

Citation

If you find this project useful in your research, please consider citing:

@misc{=mmdeploy,
    title={OpenMMLab's Model Deployment Toolbox.},
    author={MMDeploy Contributors},
    howpublished = {\url{https://github.com/open-mmlab/mmdeploy}},
    year={2021}
}

License

This project is released under the Apache 2.0 license.

Projects in OpenMMLab

  • MMCV: OpenMMLab foundational library for computer vision.
  • MIM: MIM installs OpenMMLab packages.
  • MMClassification: OpenMMLab image classification toolbox and benchmark.
  • MMDetection: OpenMMLab detection toolbox and benchmark.
  • MMDetection3D: OpenMMLab's next-generation platform for general 3D object detection.
  • MMRotate: OpenMMLab rotated object detection toolbox and benchmark.
  • MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.
  • MMOCR: OpenMMLab text detection, recognition, and understanding toolbox.
  • MMPose: OpenMMLab pose estimation toolbox and benchmark.
  • MMHuman3D: OpenMMLab 3D human parametric model toolbox and benchmark.
  • MMSelfSup: OpenMMLab self-supervised learning toolbox and benchmark.
  • MMRazor: OpenMMLab model compression toolbox and benchmark.
  • MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.
  • MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
  • MMTracking: OpenMMLab video perception toolbox and benchmark.
  • MMFlow: OpenMMLab optical flow toolbox and benchmark.
  • MMEditing: OpenMMLab image and video editing toolbox.
  • MMGeneration: OpenMMLab image and video generative models toolbox.
  • MMDeploy: OpenMMLab model deployment framework.