* check in cmake * move backend_ops to csrc/backend_ops * check in preprocess, model, some codebase and their c-apis * check in CMakeLists.txt * check in parts of test_csrc * commit everything else * add readme * update core's BUILD_INTERFACE directory * skip codespell on third_party * update trt_net and ort_net's CMakeLists * ignore clion's build directory * check in pybind11 * add onnx.proto. Remove MMDeploy's dependency on ncnn's source code * export MMDeployTargets only when MMDEPLOY_BUILD_SDK is ON * remove useless message * target include directory is wrong * change target name from mmdeploy_ppl_net to mmdeploy_pplnn_net * skip install directory * update project's cmake * remove useless code * set CMAKE_BUILD_TYPE to Release by force if it isn't set by user * update custom ops CMakeLists * pass object target's source lists * fix lint end-of-file * fix lint: trailing whitespace * fix codespell hook * remove bicubic_interpolate to csrc/backend_ops/ * set MMDEPLOY_BUILD_SDK OFF * change custom ops build command * add spdlog installation command * update docs on how to checkout pybind11 * move bicubic_interpolate to backend_ops/tensorrt directory * remove useless code * correct cmake * fix typo * fix typo * fix install directory * correct sdk's readme * set cub dir when cuda version < 11.0 * change directory where clang-format will apply to * fix build command * add .clang-format * change clang-format style from google to file * reformat csrc/backend_ops * format sdk's code * turn off clang-format for some files * add -Xcompiler=-fno-gnu-unique * fix trt topk initialize * check in config for sdk demo * update cmake script and csrc's readme * correct config's path * add cuda include directory, otherwise compile failed in case of tensorrt8.2 * clang-format onnx2ncnn.cpp Co-authored-by: zhangli <lzhang329@gmail.com> Co-authored-by: grimoire <yaoqian@sensetime.com>
Introduction
English | 简体中文
MMDeploy is an open-source deep learning model deployment toolset. It is a part of the OpenMMLab project.
Major features
-
OpenMMLab model support
Models in OpenMMLab can be deployed with this project. Such as MMClassification, MMDetection, etc.
-
Multiple inference engine support
Models can be exported and run in different backends. Such as ONNX Runtime, TensorRT, etc.
-
Model rewrite
Modules and functions used in models can be rewritten to meet the demand of different backends. It is easy to add new model support.
License
This project is released under the Apache 2.0 license.
Codebase and Backend support
Supported codebase:
- MMClassification
- MMDetection
- MMSegmentation
- MMEditing
- MMOCR
Supported backend:
- ONNX Runtime
- TensorRT
- PPL
- ncnn
- OpenVINO
Installation
Please refer to get_started.md for installation.
Getting Started
Please read how_to_convert_model.md for the basic usage of MMDeploy. There are also tutorials on how to write config, how to support new models and how to measure performance of models.
Please refer to FAQ for frequently asked questions.
Citation
If you find this project useful in your research, please consider cite:
@misc{=mmdeploy,
title={OpenMMLab's Model deployment toolbox.},
author={MMDeploy Contributors},
howpublished = {\url{https://github.com/open-mmlab/mmdeploy}},
year={2021}
}
Contributing
We appreciate all contributions to improve MMDeploy. Please refer to CONTRIBUTING.md for the contributing guideline.
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.
- MMSegmentation: OpenMMLab semantic segmentation toolbox and benchmark.
- MMAction2: OpenMMLab's next-generation action understanding toolbox and benchmark.
- MMTracking: OpenMMLab video perception toolbox and benchmark.
- MMPose: OpenMMLab pose estimation toolbox and benchmark.
- MMEditing: OpenMMLab image and video editing toolbox.
- MMOCR: A Comprehensive Toolbox for Text Detection, Recognition and Understanding.
- MMGeneration: OpenMMLab image and video generative models toolbox.