* move to dev-1.x * fix wrong class name * redesign Params argument mechanisms * change demo build to ant * remove unused debugging file * fix demo * remove hardcode * a general build.xml * update README * fix clang-format * rename follow java format * update docs * fix lint * fix java_api build * fix ci * fix java api ci * fix lint * fix opencv build privilege * fix CI ant build * remove opencv build because is too slow * fix lib path * fix wrong dir * fix run demo location * fix ant command * fix opencv * mv opencv to java demo * fix CI * fix comments * add absolute lib path in ci * find lib * find lib * fix mmdeploy lib path in ci * fix pose ocr pose-tracker * support RotatedDetection and Segmentation score * add cmake * fix lint * fix yapf * fix clang-format * fix clang-format * fix java api ci * fix ocr src pic * add rotate * add opencv lib * fix lib * fix libgstreamer missing * add libgstreamer-plugin * fix comments * fix comments * add avcodec for posetracker * fix CI * fix java ci comments * fix test_java_demo format * fix lint and ffmpeg missing * fix comments * a copy of array for java * fix demo stuck * fix test_java_demo.py * fix popd and pushd * fix java_api * fix java api handle * update for api * add java docstrings for demo * add docstring for posetracker java and fix handle * add some java api docstrings * return ec * add error code for java * add all java docs * fix clang-format * fix PoseTracker apply api for batch inference * fix missing error code * remove author * remove author * remove destroy window * fix wrong code * fix Context * fix java docs * fix comments * fix compile failed * fix for and if format * fix error code * fix bracket
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 ✔️TVM |
✔️ONNX Runtime ✔️OpenVINO |
- | - |
ARM CPU | ✔️ncnn | - | - | ✔️ncnn |
RISC-V | ✔️ncnn | - | - | - |
NVIDIA GPU | ✔️ONNX Runtime ✔️TensorRT ✔️pplnn ✔️LibTorch ✔️TVM |
✔️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
Documentation
Please read getting_started for the basic usage of MMDeploy. We also provide tutoials about:
- Build
- User Guide
- Developer Guide
- Custom Backend Ops
- 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:
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.
- MMYOLO: OpenMMLab YOLO series toolbox and benchmark
- 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.