mmdeploy


Namemmdeploy JSON
Version 1.3.1 PyPI version JSON
download
home_pagehttps://github.com/open-mmlab/mmdeploy
SummaryOpenMMLab Model Deployment
upload_time2023-12-25 12:33:18
maintainer
docs_urlNone
authorOpenMMLab
requires_python
licenseApache License 2.0
keywords computer vision model deployment
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <img src="resources/mmdeploy-logo.png" width="450"/>
  <div>&nbsp;</div>
  <div align="center">
    <b><font size="5">OpenMMLab website</font></b>
    <sup>
        <a href="https://openmmlab.com">
        <i><font size="4">HOT</font></i>
      </a>
    </sup>
    &nbsp;&nbsp;&nbsp;&nbsp;
    <b><font size="5">OpenMMLab platform</font></b>
    <sup>
      <a href="https://platform.openmmlab.com">
        <i><font size="4">TRY IT OUT</font></i>
      </a>
    </sup>
  </div>
  <div>&nbsp;</div>

[![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmdeploy.readthedocs.io/en/latest/)
[![badge](https://github.com/open-mmlab/mmdeploy/workflows/build/badge.svg)](https://github.com/open-mmlab/mmdeploy/actions)
[![codecov](https://codecov.io/gh/open-mmlab/mmdeploy/branch/main/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmdeploy)
[![license](https://img.shields.io/github/license/open-mmlab/mmdeploy.svg)](https://github.com/open-mmlab/mmdeploy/tree/main/LICENSE)
[![issue resolution](https://img.shields.io/github/issues-closed-raw/open-mmlab/mmdeploy)](https://github.com/open-mmlab/mmdeploy/issues)
[![open issues](https://img.shields.io/github/issues-raw/open-mmlab/mmdeploy)](https://github.com/open-mmlab/mmdeploy/issues)

English | [简体中文](README_zh-CN.md)

</div>

<div align="center">
  <a href="https://openmmlab.medium.com/" style="text-decoration:none;">
    <img src="https://user-images.githubusercontent.com/25839884/218352562-cdded397-b0f3-4ca1-b8dd-a60df8dca75b.png" width="3%" alt="" /></a>
  <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
  <a href="https://discord.gg/raweFPmdzG" style="text-decoration:none;">
    <img src="https://user-images.githubusercontent.com/25839884/218347213-c080267f-cbb6-443e-8532-8e1ed9a58ea9.png" width="3%" alt="" /></a>
  <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
  <a href="https://twitter.com/OpenMMLab" style="text-decoration:none;">
    <img src="https://user-images.githubusercontent.com/25839884/218346637-d30c8a0f-3eba-4699-8131-512fb06d46db.png" width="3%" alt="" /></a>
  <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
  <a href="https://www.youtube.com/openmmlab" style="text-decoration:none;">
    <img src="https://user-images.githubusercontent.com/25839884/218346691-ceb2116a-465a-40af-8424-9f30d2348ca9.png" width="3%" alt="" /></a>
</div>

## 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](https://platform.openmmlab.com/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](https://openmmlab.com/) project.

<div align="center">
  <img src="resources/introduction.png">
</div>

## Main features

### Fully support OpenMMLab models

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

- [mmpretrain](docs/en/04-supported-codebases/mmpretrain.md)
- [mmdet](docs/en/04-supported-codebases/mmdet.md)
- [mmseg](docs/en/04-supported-codebases/mmseg.md)
- [mmagic](docs/en/04-supported-codebases/mmagic.md)
- [mmocr](docs/en/04-supported-codebases/mmocr.md)
- [mmpose](docs/en/04-supported-codebases/mmpose.md)
- [mmdet3d](docs/en/04-supported-codebases/mmdet3d.md)
- [mmrotate](docs/en/04-supported-codebases/mmrotate.md)
- [mmaction2](docs/en/04-supported-codebases/mmaction2.md)

### 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](docs/en/03-benchmark/benchmark.md)

<div style="width: fit-content; margin: auto;">
<table>
  <tr>
    <th>Device / <br> Platform</th>
    <th>Linux</th>
    <th>Windows</th>
    <th>macOS</th>
    <th>Android</th>
  </tr>
  <tr>
    <th>x86_64 <br> CPU</th>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ort.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ort.yml"></a></sub> <sub>onnxruntime</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-pplnn.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-pplnn.yml"></a></sub> <sub>pplnn</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ncnn.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ncnn.yml"></a></sub> <sub>ncnn</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-torchscript.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-torchscript.yml"></a></sub> <sub>LibTorch</sub> <br>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>OpenVINO</sub> <br>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>TVM</sub> <br>
    </td>
    <td>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>onnxruntime</sub> <br>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>OpenVINO</sub> <br>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>ncnn</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>ARM <br> CPU</th>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml"><img src="https://byob.yarr.is/open-mmlab/mmdeploy/cross_build_aarch64"></a></sub> <sub>ncnn</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ncnn.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ncnn.yml"></a></sub> <sub>ncnn</sub> <br>
    </td>
  </tr>

<tr>
    <th>RISC-V</th>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/linux-riscv64-gcc.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/linux-riscv64-gcc.yml"></a></sub> <sub>ncnn</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>NVIDIA <br> GPU</th>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml"><img src="https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_linux"></a></sub> <sub>onnxruntime</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml"><img src="https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_linux"></a></sub> <sub>TensorRT</sub> <br>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>LibTorch</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-pplnn.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-pplnn.yml"></a></sub> <sub>pplnn</sub> <br>
    </td>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml"><img src="https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_windows"></a></sub> <sub>onnxruntime</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml"><img src="https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_windows"></a></sub> <sub>TensorRT</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>NVIDIA <br> Jetson</th>
    <td>
        <sub><img src="https://img.shields.io/badge/build-no%20status-lightgrey"></sub> <sub>TensorRT</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>Huawei <br> ascend310</th>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ascend.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ascend.yml"></a></sub> <sub>CANN</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>Rockchip</th>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-rknn.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-rknn.yml"></a></sub> <sub>RKNN</sub> <br>
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>Apple M1</th>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-coreml.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-coreml.yml"></a></sub> <sub>CoreML</sub> <br>
    </td>
    <td align="center">
        -
    </td>
  </tr>

<tr>
    <th>Adreno <br> GPU</th>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-snpe.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-snpe.yml"></a></sub> <sub>SNPE</sub> <br>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ncnn.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ncnn.yml"></a></sub> <sub>ncnn</sub> <br>
    </td>
  </tr>

<tr>
    <th>Hexagon <br> DSP</th>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td align="center">
        -
    </td>
    <td>
        <sub><a href="https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-snpe.yml"><img src="https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-snpe.yml"></a></sub> <sub>SNPE</sub> <br>
    </td>
  </tr>
</table>
</div>

### 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](https://mmdeploy.readthedocs.io/en/latest/)

Please read [getting_started](docs/en/get_started.md) for the basic usage of MMDeploy. We also provide tutoials about:

- [Build](docs/en/01-how-to-build/build_from_source.md)
  - [Build from Docker](docs/en/01-how-to-build/build_from_docker.md)
  - [Build from Script](docs/en/01-how-to-build/build_from_script.md)
  - [Build for Linux](docs/en/01-how-to-build/linux-x86_64.md)
  - [Build for macOS](docs/en/01-how-to-build/macos-arm64.md)
  - [Build for Win10](docs/en/01-how-to-build/windows.md)
  - [Build for Android](docs/en/01-how-to-build/android.md)
  - [Build for Jetson](docs/en/01-how-to-build/jetsons.md)
  - [Build for SNPE](docs/en/01-how-to-build/snpe.md)
  - [Cross Build for aarch64](docs/en/01-how-to-build/cross_build_ncnn_aarch64.md)
- User Guide
  - [How to convert model](docs/en/02-how-to-run/convert_model.md)
  - [How to write config](docs/en/02-how-to-run/write_config.md)
  - [How to profile model](docs/en/02-how-to-run/profile_model.md)
  - [How to quantize model](docs/en/02-how-to-run/quantize_model.md)
  - [Useful tools](docs/en/02-how-to-run/useful_tools.md)
- Developer Guide
  - [Architecture](docs/en/07-developer-guide/architecture.md)
  - [How to support new models](docs/en/07-developer-guide/support_new_model.md)
  - [How to support new backends](docs/en/07-developer-guide/support_new_backend.md)
  - [How to partition model](docs/en/07-developer-guide/partition_model.md)
  - [How to test rewritten model](docs/en/07-developer-guide/test_rewritten_models.md)
  - [How to test backend ops](docs/en/07-developer-guide/add_backend_ops_unittest.md)
  - [How to do regression test](docs/en/07-developer-guide/regression_test.md)
- Custom Backend Ops
  - [ncnn](docs/en/06-custom-ops/ncnn.md)
  - [ONNXRuntime](docs/en/06-custom-ops/onnxruntime.md)
  - [tensorrt](docs/en/06-custom-ops/tensorrt.md)
- [FAQ](docs/en/faq.md)
- [Contributing](.github/CONTRIBUTING.md)

## Benchmark and Model zoo

You can find the supported models from [here](docs/en/03-benchmark/supported_models.md) and their performance in the [benchmark](docs/en/03-benchmark/benchmark.md).

## Contributing

We appreciate all contributions to MMDeploy. Please refer to [CONTRIBUTING.md](.github/CONTRIBUTING.md) for the contributing guideline.

## Acknowledgement

We would like to sincerely thank the following teams for their contributions to [MMDeploy](https://github.com/open-mmlab/mmdeploy):

- [OpenPPL](https://github.com/openppl-public)
- [OpenVINO](https://github.com/openvinotoolkit/openvino)
- [ncnn](https://github.com/Tencent/ncnn)

## Citation

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

```BibTeX
@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](LICENSE).

## Projects in OpenMMLab

- [MMEngine](https://github.com/open-mmlab/mmengine): OpenMMLab foundational library for training deep learning models.
- [MMCV](https://github.com/open-mmlab/mmcv): OpenMMLab foundational library for computer vision.
- [MMPretrain](https://github.com/open-mmlab/mmpretrain): OpenMMLab pre-training toolbox and benchmark.
- [MMagic](https://github.com/open-mmlab/mmagic): Open**MM**Lab **A**dvanced, **G**enerative and **I**ntelligent **C**reation toolbox.
- [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.
- [MMYOLO](https://github.com/open-mmlab/mmyolo): OpenMMLab YOLO series toolbox and benchmark
- [MMRotate](https://github.com/open-mmlab/mmrotate): OpenMMLab rotated object detection toolbox and benchmark.
- [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab video perception toolbox and benchmark.
- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab semantic segmentation toolbox and benchmark.
- [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab text detection, recognition, and understanding toolbox.
- [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab pose estimation toolbox and benchmark.
- [MMHuman3D](https://github.com/open-mmlab/mmhuman3d): OpenMMLab 3D human parametric model toolbox and benchmark.
- [MMFewShot](https://github.com/open-mmlab/mmfewshot): OpenMMLab fewshot learning toolbox and benchmark.
- [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab's next-generation action understanding toolbox and benchmark.
- [MMFlow](https://github.com/open-mmlab/mmflow): OpenMMLab optical flow toolbox and benchmark.
- [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab model deployment framework.
- [MMRazor](https://github.com/open-mmlab/mmrazor): OpenMMLab model compression toolbox and benchmark.
- [MIM](https://github.com/open-mmlab/mim): MIM installs OpenMMLab packages.
- [Playground](https://github.com/open-mmlab/playground): A central hub for gathering and showcasing amazing projects built upon OpenMMLab.



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/open-mmlab/mmdeploy",
    "name": "mmdeploy",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "computer vision,model deployment",
    "author": "OpenMMLab",
    "author_email": "openmmlab@gmail.com",
    "download_url": "",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"resources/mmdeploy-logo.png\" width=\"450\"/>\n  <div>&nbsp;</div>\n  <div align=\"center\">\n    <b><font size=\"5\">OpenMMLab website</font></b>\n    <sup>\n        <a href=\"https://openmmlab.com\">\n        <i><font size=\"4\">HOT</font></i>\n      </a>\n    </sup>\n    &nbsp;&nbsp;&nbsp;&nbsp;\n    <b><font size=\"5\">OpenMMLab platform</font></b>\n    <sup>\n      <a href=\"https://platform.openmmlab.com\">\n        <i><font size=\"4\">TRY IT OUT</font></i>\n      </a>\n    </sup>\n  </div>\n  <div>&nbsp;</div>\n\n[![docs](https://img.shields.io/badge/docs-latest-blue)](https://mmdeploy.readthedocs.io/en/latest/)\n[![badge](https://github.com/open-mmlab/mmdeploy/workflows/build/badge.svg)](https://github.com/open-mmlab/mmdeploy/actions)\n[![codecov](https://codecov.io/gh/open-mmlab/mmdeploy/branch/main/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmdeploy)\n[![license](https://img.shields.io/github/license/open-mmlab/mmdeploy.svg)](https://github.com/open-mmlab/mmdeploy/tree/main/LICENSE)\n[![issue resolution](https://img.shields.io/github/issues-closed-raw/open-mmlab/mmdeploy)](https://github.com/open-mmlab/mmdeploy/issues)\n[![open issues](https://img.shields.io/github/issues-raw/open-mmlab/mmdeploy)](https://github.com/open-mmlab/mmdeploy/issues)\n\nEnglish | [\u7b80\u4f53\u4e2d\u6587](README_zh-CN.md)\n\n</div>\n\n<div align=\"center\">\n  <a href=\"https://openmmlab.medium.com/\" style=\"text-decoration:none;\">\n    <img src=\"https://user-images.githubusercontent.com/25839884/218352562-cdded397-b0f3-4ca1-b8dd-a60df8dca75b.png\" width=\"3%\" alt=\"\" /></a>\n  <img src=\"https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" />\n  <a href=\"https://discord.gg/raweFPmdzG\" style=\"text-decoration:none;\">\n    <img src=\"https://user-images.githubusercontent.com/25839884/218347213-c080267f-cbb6-443e-8532-8e1ed9a58ea9.png\" width=\"3%\" alt=\"\" /></a>\n  <img src=\"https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" />\n  <a href=\"https://twitter.com/OpenMMLab\" style=\"text-decoration:none;\">\n    <img src=\"https://user-images.githubusercontent.com/25839884/218346637-d30c8a0f-3eba-4699-8131-512fb06d46db.png\" width=\"3%\" alt=\"\" /></a>\n  <img src=\"https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png\" width=\"3%\" alt=\"\" />\n  <a href=\"https://www.youtube.com/openmmlab\" style=\"text-decoration:none;\">\n    <img src=\"https://user-images.githubusercontent.com/25839884/218346691-ceb2116a-465a-40af-8424-9f30d2348ca9.png\" width=\"3%\" alt=\"\" /></a>\n</div>\n\n## Highlights\n\nThe MMDeploy 1.x has been released, which is adapted to upstream codebases from OpenMMLab 2.0. Please **align the version** when using it.\nThe 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.\n\n| mmdeploy | mmengine |   mmcv   |  mmdet   | others |\n| :------: | :------: | :------: | :------: | :----: |\n|  0.x.y   |    -     | \\<=1.x.y | \\<=2.x.y | 0.x.y  |\n|  1.x.y   |  0.x.y   |  2.x.y   |  3.x.y   | 1.x.y  |\n\n[deploee](https://platform.openmmlab.com/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.\n\n## Introduction\n\nMMDeploy is an open-source deep learning model deployment toolset. It is a part of the [OpenMMLab](https://openmmlab.com/) project.\n\n<div align=\"center\">\n  <img src=\"resources/introduction.png\">\n</div>\n\n## Main features\n\n### Fully support OpenMMLab models\n\nThe currently supported codebases and models are as follows, and more will be included in the future\n\n- [mmpretrain](docs/en/04-supported-codebases/mmpretrain.md)\n- [mmdet](docs/en/04-supported-codebases/mmdet.md)\n- [mmseg](docs/en/04-supported-codebases/mmseg.md)\n- [mmagic](docs/en/04-supported-codebases/mmagic.md)\n- [mmocr](docs/en/04-supported-codebases/mmocr.md)\n- [mmpose](docs/en/04-supported-codebases/mmpose.md)\n- [mmdet3d](docs/en/04-supported-codebases/mmdet3d.md)\n- [mmrotate](docs/en/04-supported-codebases/mmrotate.md)\n- [mmaction2](docs/en/04-supported-codebases/mmaction2.md)\n\n### Multiple inference backends are available\n\nThe supported Device-Platform-InferenceBackend matrix is presented as following, and more will be compatible.\n\nThe benchmark can be found from [here](docs/en/03-benchmark/benchmark.md)\n\n<div style=\"width: fit-content; margin: auto;\">\n<table>\n  <tr>\n    <th>Device / <br> Platform</th>\n    <th>Linux</th>\n    <th>Windows</th>\n    <th>macOS</th>\n    <th>Android</th>\n  </tr>\n  <tr>\n    <th>x86_64 <br> CPU</th>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ort.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ort.yml\"></a></sub> <sub>onnxruntime</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-pplnn.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-pplnn.yml\"></a></sub> <sub>pplnn</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ncnn.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ncnn.yml\"></a></sub> <sub>ncnn</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-torchscript.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-torchscript.yml\"></a></sub> <sub>LibTorch</sub> <br>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>OpenVINO</sub> <br>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>TVM</sub> <br>\n    </td>\n    <td>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>onnxruntime</sub> <br>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>OpenVINO</sub> <br>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>ncnn</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>ARM <br> CPU</th>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml\"><img src=\"https://byob.yarr.is/open-mmlab/mmdeploy/cross_build_aarch64\"></a></sub> <sub>ncnn</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ncnn.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ncnn.yml\"></a></sub> <sub>ncnn</sub> <br>\n    </td>\n  </tr>\n\n<tr>\n    <th>RISC-V</th>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/linux-riscv64-gcc.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/linux-riscv64-gcc.yml\"></a></sub> <sub>ncnn</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>NVIDIA <br> GPU</th>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml\"><img src=\"https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_linux\"></a></sub> <sub>onnxruntime</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml\"><img src=\"https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_linux\"></a></sub> <sub>TensorRT</sub> <br>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>LibTorch</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-pplnn.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-pplnn.yml\"></a></sub> <sub>pplnn</sub> <br>\n    </td>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml\"><img src=\"https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_windows\"></a></sub> <sub>onnxruntime</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/build.yml\"><img src=\"https://byob.yarr.is/open-mmlab/mmdeploy/build_cuda113_windows\"></a></sub> <sub>TensorRT</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>NVIDIA <br> Jetson</th>\n    <td>\n        <sub><img src=\"https://img.shields.io/badge/build-no%20status-lightgrey\"></sub> <sub>TensorRT</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>Huawei <br> ascend310</th>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ascend.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ascend.yml\"></a></sub> <sub>CANN</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>Rockchip</th>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-rknn.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-rknn.yml\"></a></sub> <sub>RKNN</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>Apple M1</th>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-coreml.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-coreml.yml\"></a></sub> <sub>CoreML</sub> <br>\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n  </tr>\n\n<tr>\n    <th>Adreno <br> GPU</th>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-snpe.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-snpe.yml\"></a></sub> <sub>SNPE</sub> <br>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-ncnn.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-ncnn.yml\"></a></sub> <sub>ncnn</sub> <br>\n    </td>\n  </tr>\n\n<tr>\n    <th>Hexagon <br> DSP</th>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td align=\"center\">\n        -\n    </td>\n    <td>\n        <sub><a href=\"https://github.com/open-mmlab/mmdeploy/actions/workflows/backend-snpe.yml\"><img src=\"https://img.shields.io/github/actions/workflow/status/open-mmlab/mmdeploy/backend-snpe.yml\"></a></sub> <sub>SNPE</sub> <br>\n    </td>\n  </tr>\n</table>\n</div>\n\n### Efficient and scalable C/C++ SDK Framework\n\nAll 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\n\n## [Documentation](https://mmdeploy.readthedocs.io/en/latest/)\n\nPlease read [getting_started](docs/en/get_started.md) for the basic usage of MMDeploy. We also provide tutoials about:\n\n- [Build](docs/en/01-how-to-build/build_from_source.md)\n  - [Build from Docker](docs/en/01-how-to-build/build_from_docker.md)\n  - [Build from Script](docs/en/01-how-to-build/build_from_script.md)\n  - [Build for Linux](docs/en/01-how-to-build/linux-x86_64.md)\n  - [Build for macOS](docs/en/01-how-to-build/macos-arm64.md)\n  - [Build for Win10](docs/en/01-how-to-build/windows.md)\n  - [Build for Android](docs/en/01-how-to-build/android.md)\n  - [Build for Jetson](docs/en/01-how-to-build/jetsons.md)\n  - [Build for SNPE](docs/en/01-how-to-build/snpe.md)\n  - [Cross Build for aarch64](docs/en/01-how-to-build/cross_build_ncnn_aarch64.md)\n- User Guide\n  - [How to convert model](docs/en/02-how-to-run/convert_model.md)\n  - [How to write config](docs/en/02-how-to-run/write_config.md)\n  - [How to profile model](docs/en/02-how-to-run/profile_model.md)\n  - [How to quantize model](docs/en/02-how-to-run/quantize_model.md)\n  - [Useful tools](docs/en/02-how-to-run/useful_tools.md)\n- Developer Guide\n  - [Architecture](docs/en/07-developer-guide/architecture.md)\n  - [How to support new models](docs/en/07-developer-guide/support_new_model.md)\n  - [How to support new backends](docs/en/07-developer-guide/support_new_backend.md)\n  - [How to partition model](docs/en/07-developer-guide/partition_model.md)\n  - [How to test rewritten model](docs/en/07-developer-guide/test_rewritten_models.md)\n  - [How to test backend ops](docs/en/07-developer-guide/add_backend_ops_unittest.md)\n  - [How to do regression test](docs/en/07-developer-guide/regression_test.md)\n- Custom Backend Ops\n  - [ncnn](docs/en/06-custom-ops/ncnn.md)\n  - [ONNXRuntime](docs/en/06-custom-ops/onnxruntime.md)\n  - [tensorrt](docs/en/06-custom-ops/tensorrt.md)\n- [FAQ](docs/en/faq.md)\n- [Contributing](.github/CONTRIBUTING.md)\n\n## Benchmark and Model zoo\n\nYou can find the supported models from [here](docs/en/03-benchmark/supported_models.md) and their performance in the [benchmark](docs/en/03-benchmark/benchmark.md).\n\n## Contributing\n\nWe appreciate all contributions to MMDeploy. Please refer to [CONTRIBUTING.md](.github/CONTRIBUTING.md) for the contributing guideline.\n\n## Acknowledgement\n\nWe would like to sincerely thank the following teams for their contributions to [MMDeploy](https://github.com/open-mmlab/mmdeploy):\n\n- [OpenPPL](https://github.com/openppl-public)\n- [OpenVINO](https://github.com/openvinotoolkit/openvino)\n- [ncnn](https://github.com/Tencent/ncnn)\n\n## Citation\n\nIf you find this project useful in your research, please consider citing:\n\n```BibTeX\n@misc{=mmdeploy,\n    title={OpenMMLab's Model Deployment Toolbox.},\n    author={MMDeploy Contributors},\n    howpublished = {\\url{https://github.com/open-mmlab/mmdeploy}},\n    year={2021}\n}\n```\n\n## License\n\nThis project is released under the [Apache 2.0 license](LICENSE).\n\n## Projects in OpenMMLab\n\n- [MMEngine](https://github.com/open-mmlab/mmengine): OpenMMLab foundational library for training deep learning models.\n- [MMCV](https://github.com/open-mmlab/mmcv): OpenMMLab foundational library for computer vision.\n- [MMPretrain](https://github.com/open-mmlab/mmpretrain): OpenMMLab pre-training toolbox and benchmark.\n- [MMagic](https://github.com/open-mmlab/mmagic): Open**MM**Lab **A**dvanced, **G**enerative and **I**ntelligent **C**reation toolbox.\n- [MMDetection](https://github.com/open-mmlab/mmdetection): OpenMMLab detection toolbox and benchmark.\n- [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): OpenMMLab's next-generation platform for general 3D object detection.\n- [MMYOLO](https://github.com/open-mmlab/mmyolo): OpenMMLab YOLO series toolbox and benchmark\n- [MMRotate](https://github.com/open-mmlab/mmrotate): OpenMMLab rotated object detection toolbox and benchmark.\n- [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab video perception toolbox and benchmark.\n- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab semantic segmentation toolbox and benchmark.\n- [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab text detection, recognition, and understanding toolbox.\n- [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab pose estimation toolbox and benchmark.\n- [MMHuman3D](https://github.com/open-mmlab/mmhuman3d): OpenMMLab 3D human parametric model toolbox and benchmark.\n- [MMFewShot](https://github.com/open-mmlab/mmfewshot): OpenMMLab fewshot learning toolbox and benchmark.\n- [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab's next-generation action understanding toolbox and benchmark.\n- [MMFlow](https://github.com/open-mmlab/mmflow): OpenMMLab optical flow toolbox and benchmark.\n- [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab model deployment framework.\n- [MMRazor](https://github.com/open-mmlab/mmrazor): OpenMMLab model compression toolbox and benchmark.\n- [MIM](https://github.com/open-mmlab/mim): MIM installs OpenMMLab packages.\n- [Playground](https://github.com/open-mmlab/playground): A central hub for gathering and showcasing amazing projects built upon OpenMMLab.\n\n\n",
    "bugtrack_url": null,
    "license": "Apache License 2.0",
    "summary": "OpenMMLab Model Deployment",
    "version": "1.3.1",
    "project_urls": {
        "Homepage": "https://github.com/open-mmlab/mmdeploy"
    },
    "split_keywords": [
        "computer vision",
        "model deployment"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b8d553cf543b9960ca64ec1ace521e6235acd721efcf8366cf8852def7e248cc",
                "md5": "4d0518c22f38e37883a68f71d1525a28",
                "sha256": "24407d9b9ca0274e9a97b39754ca2bca921d9189c4dba31b262350ecb909b923"
            },
            "downloads": -1,
            "filename": "mmdeploy-1.3.1-py3-none-manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4d0518c22f38e37883a68f71d1525a28",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 11227441,
            "upload_time": "2023-12-25T12:33:18",
            "upload_time_iso_8601": "2023-12-25T12:33:18.204035Z",
            "url": "https://files.pythonhosted.org/packages/b8/d5/53cf543b9960ca64ec1ace521e6235acd721efcf8366cf8852def7e248cc/mmdeploy-1.3.1-py3-none-manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fb55b86087eef140a82d3aab6f7990843d33595ac4ed4673eae9914e50d4c6c2",
                "md5": "3123e344ea844400c5c9c57913257a10",
                "sha256": "af31eeca4c11828294aa46da585b7f325e8ace5c688b6f49ce50832202f66df6"
            },
            "downloads": -1,
            "filename": "mmdeploy-1.3.1-py3-none-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "3123e344ea844400c5c9c57913257a10",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 8983222,
            "upload_time": "2023-12-25T12:33:24",
            "upload_time_iso_8601": "2023-12-25T12:33:24.684313Z",
            "url": "https://files.pythonhosted.org/packages/fb/55/b86087eef140a82d3aab6f7990843d33595ac4ed4673eae9914e50d4c6c2/mmdeploy-1.3.1-py3-none-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-25 12:33:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "open-mmlab",
    "github_project": "mmdeploy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "mmdeploy"
}
        
Elapsed time: 0.17388s