2021-12-16 19:22:14 +08:00
< div align = "center" >
< img src = "resources/mmdeploy-logo.png" width = "600" / >
< / div >
2021-10-09 14:10:42 +08:00
## Introduction
2021-06-11 13:26:05 +08:00
2021-10-09 14:10:42 +08:00
English | [简体中文 ](README_zh-CN.md )
MMDeploy is an open-source deep learning model deployment toolset. It is
a part of the [OpenMMLab ](https://openmmlab.com/ ) project.
2021-12-16 19:22:14 +08:00
< div align = "center" >
< img src = "https://socialistmodernism.com/wp-content/uploads/2017/07/placeholder-image.png" / >
< / div >
2021-10-09 14:10:42 +08:00
### Major features
2021-12-16 19:22:14 +08:00
- **Fully support OpenMMLab models**
2021-10-25 16:37:33 +08:00
2021-12-16 19:22:14 +08:00
We provide a unified model deployment toolbox for the codebases in OpenMMLab. The supported codebases are listed as below, and more will be added in the future
- [x] MMClassification
- [x] MMDetection
- [x] MMSegmentation
- [x] MMEditing
- [x] MMOCR
2021-10-09 14:10:42 +08:00
2021-12-16 19:22:14 +08:00
- **Multiple inference backends are available**
2021-10-25 16:37:33 +08:00
2021-12-16 19:22:14 +08:00
Models can be exported and run in different backends. The following ones are supported, and more will be taken into consideration
- [x] ONNX Runtime
- [x] TensorRT
- [x] PPLNN
- [x] ncnn
- [x] OpenVINO
2021-07-01 17:32:33 +08:00
2021-12-16 19:22:14 +08:00
- **Efficient and highly scalable SDK Framework by C/C++**
2021-10-25 16:37:33 +08:00
2021-12-16 19:22:14 +08:00
All kinds of modules in SDK can be extensible, such as `Transform` for image processing, `Net` for Neural Network inference, `Module` for postprocessing and so on
2021-07-01 17:32:33 +08:00
2021-10-09 14:10:42 +08:00
## License
2021-07-10 16:16:11 +08:00
2021-10-09 14:10:42 +08:00
This project is released under the [Apache 2.0 license ](LICENSE ).
2021-07-10 16:16:11 +08:00
2021-07-01 17:32:33 +08:00
2021-12-16 19:22:14 +08:00
## Installation
2021-07-01 17:32:33 +08:00
2021-12-21 13:59:07 +08:00
Please refer to [build.md ](docs/en/build.md ) for installation.
2021-10-09 14:10:42 +08:00
2021-12-16 19:22:14 +08:00
## Getting Started
2021-12-21 13:59:07 +08:00
Please see [getting_started.md ](docs/en/get_started.md ) for the basic usage of MMDeploy. We also provide other tutorials for:
- [how to convert model ](docs/en/tutorials/how_to_convert_model.md )
- [how to write config ](docs/en/tutorials/how_to_write_config.md )
- [how to support new models ](docs/en/tutorials/how_to_support_new_models.md )
- [how to measure performance of models ](docs/en/tutorials/how_to_measure_performance_of_models.md )
- [MMDeploy's SDK Model spec ](docs/en/tutorials/sdk_model_spec.md )
- [how to integrate SDK to your application ](docs/en/tutorials/sdk_integration.md )
- [how to develop postprocessing components in SDK ](docs/en/tutorials/postprocess_component_development.md )
Please refer to [FAQ ](docs/en/faq.md ) for frequently asked questions.
2021-10-09 14:10:42 +08:00
2021-07-01 17:32:33 +08:00
2021-12-16 19:22:14 +08:00
## Contributing
2021-07-01 17:32:33 +08:00
2021-12-16 19:22:14 +08:00
We appreciate all contributions to improve MMDeploy. Please refer to [CONTRIBUTING.md ](.github/CONTRIBUTING.md ) for the contributing guideline.
2021-08-10 17:04:58 +08:00
2021-12-16 19:22:14 +08:00
## Acknowledgement
2021-08-10 17:04:58 +08:00
2021-12-16 19:22:14 +08:00
We would like to thank OpenVINO team, for their remarkable efforts to export MMDetection models to OpenVINO and integrate OpenVINO into MMDeploy backends
2021-07-01 17:32:33 +08:00
2021-10-27 15:03:40 +08:00
## Citation
If you find this project useful in your research, please consider cite:
```BibTeX
@misc {=mmdeploy,
2021-12-16 19:22:14 +08:00
title={OpenMMLab's Model Deployment Toolbox.},
2021-10-27 15:03:40 +08:00
author={MMDeploy Contributors},
howpublished = {\url{https://github.com/open-mmlab/mmdeploy}},
year={2021}
}
```
2021-10-09 14:10:42 +08:00
## Projects in OpenMMLab
2021-07-01 17:32:33 +08:00
2021-10-09 14:10:42 +08:00
- [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.
- [MMSegmentation ](https://github.com/open-mmlab/mmsegmentation ): OpenMMLab semantic segmentation 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.
- [MMPose ](https://github.com/open-mmlab/mmpose ): OpenMMLab pose estimation toolbox and benchmark.
- [MMEditing ](https://github.com/open-mmlab/mmediting ): OpenMMLab image and video editing toolbox.
- [MMOCR ](https://github.com/open-mmlab/mmocr ): A Comprehensive Toolbox for Text Detection, Recognition and Understanding.
- [MMGeneration ](https://github.com/open-mmlab/mmgeneration ): OpenMMLab image and video generative models toolbox.
2021-12-16 19:22:14 +08:00
- [MMFlow ](https://github.com/open-mmlab/mmflow ): OpenMMLab optical flow toolbox and benchmark.
- [MMFewShot ](https://github.com/open-mmlab/mmfewshot ): OpenMMLab FewShot Learning Toolbox and Benchmark.
- [MMHuman3D ](https://github.com/open-mmlab/mmhuman3d ): OpenMMLab Human Pose and Shape Estimation Toolbox and Benchmark.