OpenMMLab Model Deployment Framework
 
 
 
 
 
 
Go to file
q.yao 4c0b36b7ff
[Refactor] Refactor config v1 (#80)
* [Refactor] Refactor configs according to new standard (#67)

* modify cfg and cfg_util

* modify tensorrt config

* fix bug

* lint

* Fix

1. Delete print
2. Modify the return value from "False, None" to "None" and related code
3. Rename 2 get functions

* modify apply_marks

* [Feature] Refactor ocr config (#71)

* add text detection config refactor

* add text recognition refactor

* add static exporting for mmocr

* fix lint

* set max space in child config

* use Sequence[int] instead

* add assert input_shape

* fix static bug and add ppl ort and trt static (#77)

* [Feature] Refine setup.py (#61)

* add setup.py and related files

* lint

* Edit requirements

* modify onnx version

* modify according to comments

* [Refactor] Refactor mmseg configs  (#73)

* refactor mmseg config

* change create_input

* fix lint

* fix lint

* fix lint

* fix yapf

* fix yapf

* update export

* remove Segmentation

* remove tast assert

* add onnx_config

* remove hardcode

* Inherit with static

* Remove blank line

* Add segmentation task enum

* add assert task

* mmocr version 0.3.0 (#79)

* add dump_info

* [Feature]: Refactor config in mmdet (#75)

* support onnxruntime

* add two stage

* test two-stage ort and ppl

* update fcos post_params

* fix calib

* test ok with maskrcnn dynamic

* add empty line

* add static into config filename

* add input_shape to create_input in mmdet

* add static to some configs

* remove todo codes

* remove partition config in base

* refactor create_input

* rename task name in mmdet

* return None if input_shape is None

* add size info into mmdet configs filenames

* reorganize mmdet configs

* add object detection task for mmdet

* rename get_mmdet_params

* keep naming style consistent

* update post_params for fcos

* fix typo in ncnn config

* [Refactor] Refactor mmedit static config (#78)

* add static cfg

* update create_input

* [Refactor]: Refactor mmcls configs (#74)

* refactor mmcls2.0

* fix classify_tensorrt_dynamic.py

* fix classify_tensorrt_dynmic.py

* classify_tensorrt_dynamic_int8.py

* fix file name

* fix ncnn ppl

* updata prepare_input.py

* update utils.py

* updata constant.py

* add

* fix prepare_input.py

* fix prepare_input.py

* add static config file

* add blank lines

* fix prepare_input.py(wait test)

* fix input_shape(wait test)

* Update prepare_input.py

* fix classification_tensorrt_dynamic(wait test)

* fix classification_tensorrt_dynamic_int8(wait test)

* fix classification_tensorrt_static_int8(wait test)

* Rename classification_tensorrt_dynamic.py to classification_tensorrt_dynamic-224x224-224x224.py

* Rename classification_tensorrt_dynamic_int8.py to classification_tensorrt_dynamic_int8-224x224-224x224.py

* Rename classification_tensorrt_dynamic_int8-224x224-224x224.py to classification_tensorrt_int8_dynamic_224x224-224x224.py

* Rename classification_tensorrt_dynamic-224x224-224x224.py to classification_tensorrt_dynamic_224x224-224x224.py

* Rename classification_tensorrt_static.py to classification_tensorrt_static_224x224.py

* Rename classification_tensorrt_static_int8.py to classification_tensorrt_int8_static_224x224.py

* Update prepare_input.py

* Rename classification_tensorrt_dynamic_224x224-224x224.py to classification_tensorrt_dynamic-224x224-224x224.py

* Rename classification_tensorrt_int8_dynamic_224x224-224x224.py to classification_tensorrt_int8-dynamic_224x224-224x224.py

* Rename classification_tensorrt_int8-dynamic_224x224-224x224.py to classification_tensorrt_int8_dynamic-224x224-224x224.py

* Rename classification_tensorrt_int8_static_224x224.py to classification_tensorrt_int8_static-224x224.py

* Rename classification_tensorrt_static_224x224.py to classification_tensorrt_static-224x224.py

* Update prepare_input.py

* Update prepare_input.py

* Update prepare_input.py

* Update prepare_input.py

* Update prepare_input.py

* Update prepare_input.py

* Update prepare_input.py

* change logging msg

Co-authored-by: maningsheng <mnsheng@yeah.net>

* fix

* fix else branch

* fix bug for trt in mmseg

* enable dump trt info

* fix trt static for mmdet

* remove two-stage_partition_tensorrt_static-800x1344 config

* fix wrong backend in ppl config

* fix partition calibration

Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: RunningLeon <maningsheng@sensetime.com>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: maningsheng <mnsheng@yeah.net>
Co-authored-by: AllentDan <AllentDan@yeah.net>
2021-09-16 10:26:09 +08:00
.github/workflows remove unused flag, fix lint 2021-06-29 10:23:52 +08:00
backend_ops [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
configs [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
docs [Feature] Refactor v1 (#56) 2021-09-01 15:43:49 +08:00
mmdeploy [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
requirements [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
tests Test ops (#48) 2021-09-08 13:42:15 +08:00
third_party [Feature] Add TensorRT batched NMS support (#3) 2021-06-25 19:31:16 +08:00
tools [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
.gitignore
.gitmodules [Feature] Add TensorRT batched NMS support (#3) 2021-06-25 19:31:16 +08:00
.isort.cfg [Feature] Refactor v1 (#56) 2021-09-01 15:43:49 +08:00
.pre-commit-config.yaml
CMakeLists.txt [Feature] Merge NCNN deployment to grimoire based on mmcls - revert [#25](https://github.com/grimoire/deploy_prototype/pull/25) (#30) 2021-08-05 14:06:47 +08:00
LICENSE
MANIFEST.in [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
README.md [Docs] Add docs of ncnn deployment (#33) 2021-08-10 17:04:58 +08:00
requirements.txt [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00
setup.cfg
setup.py [Refactor] Refactor config v1 (#80) 2021-09-16 10:26:09 +08:00

README.md

MMDeployment

Installation

  • Build backend ops

    • update submodule

      git submodule update --init
      
    • Build with onnxruntime support

      mkdir build
      cd build
      cmake -DBUILD_ONNXRUNTIME_OPS=ON -DONNXRUNTIME_DIR=${PATH_TO_ONNXRUNTIME} ..
      make -j10
      
    • Build with tensorrt support

      mkdir build
      cd build
      cmake -DBUILD_TENSORRT_OPS=ON -DTENSORRT_DIR=${PATH_TO_TENSORRT} ..
      make -j10
      
    • Build with ncnn support

      mkdir build
      cd build
      cmake -DBUILD_NCNN_OPS=ON -DNCNN_DIR=${PATH_TO_NCNN} ..
      make -j10
      
    • Or you can add multiple flags to build multiple backend ops.

  • Setup project

    python setup.py develop
    

Usage

python ./tools/deploy.py \
    ${DEPLOY_CFG_PATH} \
    ${MODEL_CFG_PATH} \
    ${MODEL_CHECKPOINT_PATH} \
    ${INPUT_IMG} \
    --work-dir ${WORK_DIR} \
    --device ${DEVICE} \
    --log-level INFO