mmdeploy-runtime

1.3.1last stable release 1 year ago
Complexity Score
High
Open Issues
425
Dependent Projects
0
Weekly Downloadsglobal
892

License

  • Apache-2.0
    • Yesattribution
    • Permissivelinking
    • Permissivedistribution
    • Permissivemodification
    • Yespatent grant
    • Yesprivate use
    • Permissivesublicensing
    • Notrademark grant

Downloads

Readme

  OpenMMLab website HOT      OpenMMLab platform TRY IT OUT  

English | 简体中文

Highlights

The MMDeploy 1.x has been released, which is adapted to upstream codebases from OpenMMLab 2.0. Please align the version when using it. The default branch has been switched to main from master. MMDeploy 0.x (master) will be deprecated and new features will only be added to MMDeploy 1.x (main) in future.

mmdeploy mmengine mmcv mmdet others 0.x.y - <=1.x.y <=2.x.y 0.x.y 1.x.y 0.x.y 2.x.y 3.x.y 1.x.y

deploee offers over 2,300 AI models in ONNX, NCNN, TRT and OpenVINO formats. Featuring a built-in list of real hardware devices, deploee enables users to convert Torch models into any target inference format for profiling purposes.

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

  • mmpretrain
  • mmdet
  • mmseg
  • mmagic
  • mmocr
  • mmpose
  • mmdet3d
  • mmrotate
  • mmaction2

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 onnxruntime
pplnn
ncnn
LibTorch
OpenVINO
TVM
onnxruntime
OpenVINO
ncnn
- - ARM
CPU ncnn
- - ncnn
RISC-V ncnn
- - - NVIDIA
GPU onnxruntime
TensorRT
LibTorch
pplnn
onnxruntime
TensorRT
- - NVIDIA
Jetson TensorRT
- - - Huawei
ascend310 CANN
- - - Rockchip RKNN
- - - Apple M1 - - CoreML
- Adreno
GPU - - - SNPE
ncnn
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

Documentation

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

  • Build
    • Build from Docker
    • Build from Script
    • Build for Linux
    • Build for macOS
    • Build for Win10
    • Build for Android
    • Build for Jetson
    • Build for SNPE
    • Cross Build for aarch64
  • User Guide
    • How to convert model
    • How to write config
    • How to profile model
    • How to quantize model
    • Useful tools
  • Developer Guide
    • Architecture
    • How to support new models
    • How to support new backends
    • How to partition model
    • How to test rewritten model
    • How to test backend ops
    • How to do regression test
  • Custom Backend Ops
    • ncnn
    • ONNXRuntime
    • tensorrt
  • FAQ
  • Contributing

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:

  • OpenPPL
  • OpenVINO
  • ncnn

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

  • MMEngine: OpenMMLab foundational library for training deep learning models.
  • MMCV: OpenMMLab foundational library for computer vision.
  • MMPretrain: OpenMMLab pre-training toolbox and benchmark.
  • MMagic: OpenMMLab Advanced, Generative and Intelligent Creation toolbox.
  • MMDetection: OpenMMLab detection toolbox and benchmark.
  • MMDetection3D: OpenMMLab’s next-generation platform for general 3D object detection.
  • MMYOLO: OpenMMLab YOLO series toolbox and benchmark
  • MMRotate: OpenMMLab rotated object detection toolbox and benchmark.
  • MMTracking: OpenMMLab video perception 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.
  • MMFewShot: OpenMMLab fewshot learning toolbox and benchmark.
  • MMAction2: OpenMMLab’s next-generation action understanding toolbox and benchmark.
  • MMFlow: OpenMMLab optical flow toolbox and benchmark.
  • MMDeploy: OpenMMLab model deployment framework.
  • MMRazor: OpenMMLab model compression toolbox and benchmark.
  • MIM: MIM installs OpenMMLab packages.
  • Playground: A central hub for gathering and showcasing amazing projects built upon OpenMMLab.

Dependencies

No runtime dependency information found for this package.

CVE IssuesActive
0
Scorecards Score
3.40
Test Coverage
48.00%
Follows Semver
Yes
Github Stars
2,874
Dependenciestotal
0
DependenciesOutdated
0
DependenciesDeprecated
0
Threat Modelling
No
Repo Audits
No

Learn how to distribute mmdeploy-runtime in your own private PyPI registry

pip install mmdeploy-runtime
Processing...
Done

6 Releases

PyPI on Cloudsmith

Getting started with PyPI on Cloudsmith is fast and easy.