Commit Graph

113 Commits (0096aacd3e7ac88daf69bbf507751a9480c1944d)

Author SHA1 Message Date
Richard-mei ba5351e209
add gfl_trt (#124)
* add gfl_trt

* add gfl_head.py

* add batch_integral

* lint code

* add gfl unit test

* fix unit test

* add gfl benchmark

* fix unit test bug

* Update gfl_head.py

* Update __init__.py

remove '**_forward_single'

* fix lint error and ut error

* fix docs and benchmark

Co-authored-by: VVsssssk <shenkun@pjlab.org.cn>
2022-02-28 16:28:00 +08:00
AllentDan 2df085c594
[Fix]use float in scale factor (#185)
* use float

* add ut
2022-02-28 11:25:13 +08:00
lzhangzz 640aa03538
Support Windows (#106)
* minor changes

* support windows

* fix GCC build

* fix lint

* reformat

* fix Windows build

* fix GCC build

* search backend ops for onnxruntime

* fix lint

* fix lint

* code clean-up

* code clean-up

* fix clang build

* fix trt support

* fix cmake for ncnn

* fix cmake for openvino

* fix SDK Python API

* handle ops for other backends (ncnn, trt)

* handle SDK Python API library location

* robustify linkage

* fix cuda

* minor fix for openvino & ncnn

* use CMAKE_CUDA_ARCHITECTURES if set

* fix cuda preprocessor

* fix misc

* fix pplnn & pplcv, drop support for pplcv<0.6.0

* robustify cmake

* update build.md (#2)

* build dynamic modules as module library & fix demo (partially)

* fix candidate path for mmdeploy_python

* move "enable CUDA" to cmake config for demo

* refine demo cmake

* add comment

* fix ubuntu build

* revert docs/en/build.md

* fix C API

* fix lint

* Windows build doc (#3)

* check in docs related to mmdeploy build on windows

* update build guide on windows platform

* update build guide on windows platform

* make path of thirdparty libraries consistent

* make path consistency

* correct build command for custom ops

* correct build command for sdk

* update sdk build instructions

* update doc

* correct build command

* fix lint

* correct build command and fix lint

Co-authored-by: lvhan <lvhan@pjlab.org>

* trailing whitespace (#4)

* minor fix

* fix sr sdk model

* fix type deduction

* fix cudaFree after driver shutting down

* update ppl.cv installation warning (#5)

* fix device allocator threshold & fix lint

* update doc (#6)

* update ppl.cv installation warning

* missing 'git clone'

Co-authored-by: chenxin <chenxin2@sensetime.com>
Co-authored-by: zhangli <zhangli@sensetime.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: lvhan <lvhan@pjlab.org>
2022-02-24 20:08:44 +08:00
q.yao e9ee21fc1d
support export hardsigmoid in torch<=1.8 (#169)
* support export hardsigmoid in torch<=1.8

* fix lint
2022-02-24 16:10:42 +08:00
Zaida Zhou f0c110e6e6
Add a new pre-commit-hook to automatically add a copyright (#166)
* Add a new pre-commit-hook to automatically add copyright

* Add a new pre-commit-hook to automatically add copyright

* append 'demo' and 'tools' directories to .pre-commit-config.yaml
2022-02-23 11:38:40 +08:00
RunningLeon 787ebc2392
[Feature]: Support mmpose (#94)
* add mmpose code

* update

* update

* add rewrites

* test trt

* test litehrnet with trt

* revert unused change

* add docs about mmpose

* add docstring and staticmethod

* update

* update

* update docs

* fix config name and docs

* add pose_detection ut

* add pose data

* fix lint of model.py

* add pose_detection_model ut

* fix docs and docstrinf

* add test_mmpose_models.py

* fix yapf

* fix lint

* fix create input

* support ort ut

* fix yapf

* fix docs

* fix createinput

* test ci bug

* rm test1.py

* fix yapf

* fix flake8

* fix yapf

* add config and update benchmark

* fix table format

* update mmpose benchmark

* update benchmark for mmpose

* run mmpose tests seperately in ci

* fix lint

* resolve comments

* add trt ut config

* fix test

* fix tests

* resolve comments

* resolve comments

* update tests

Co-authored-by: VVsssssk <shenkun@pjlab.org.cn>
Co-authored-by: hanrui1sensetime <hanrui1@sensetime.com>
2022-02-16 11:03:12 +08:00
AllentDan a2b3ab3d7f
Fix ci for mmocr (#144)
* fix mmocr unittests

* remove useless

* lock mmdet maximum version to 2.20

* pip install -U numpy
2022-02-10 11:43:27 +08:00
lvhan028 e855ee4d54
[Enhancement] upgrade isort in pre-commit config (#141)
* [Enhancement] upgrade isort in pre-commit config by refering to mmflow pr #87

* fix lint

* remove .isort.cfg and put its known_third_party to setup.cfg
2022-02-09 17:27:50 +08:00
RunningLeon 0556feec79
Replace convert_syncbatchnorm in mmseg (#93)
* replace convert_syncbatchnorm with revert_sync_batchnorm from mmcv

* change logger
2022-01-26 11:07:28 +08:00
hanrui1sensetime e6e32a9db4
[Feature] add yolox ncnn (#29)
* add yolox ncnn

* add ncnn android performance of yolox

* add ut

* fix lint

* fix None bugs for ncnn

* test codecov

* test codecov

* add device

* fix yapf

* remove if-else for img shape

* use channelshuffle optimize

* change benchmark after channelshuffle

* fix yapf

* fix yapf

* fuse continuous reshape

* fix static shape deploy

* fix code

* drop pad

* only static shape

* fix static

* fix docstring
2022-01-19 13:54:45 +08:00
Semyon Bevzyuk 997d111a6f
[Fix] Fixed device_id in tools/test.py for the CPU. (#58)
* [Fix] fix bugs for mmcls performance test (#269)

* fix bugs for mmcls performance test

* fix yapf

* add comments of CLASSES attribute

* Rewrote the dictionary traversal for new versions of Python.

* Fix device_id for cpu

* Rewrite parse_device_id and tests

* Added None for cpu

Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
2022-01-13 15:37:23 +08:00
Yifan Zhou 12ee956d36
[Enhancement]: Remove deepcopy in patch_model (#61)
* Remove deepcopy

* Fix test
2022-01-13 11:16:16 +08:00
q.yao d157243077
[Fix] move target_wrapper into utils (#20)
* move target_wrapper into utils

* fix for lint

* add typehint and docstring

* update unit test

* fix isort

* update import
2022-01-11 15:43:47 +08:00
hanrui1sensetime 9fd15e3843
[Unittest] Add L2Norm unittest for default backend. (#43)
* add l2norm ut

* fix yapf

* fix test bugs

* fix yapf

* fix is_backend_output
2022-01-10 16:19:30 +08:00
AllentDan dbc12686ea
[Enhancement] use mmcv.utils.get_logger (#24)
* use mmcv.utils.get_logger

* add a unit test

* fix ut

* refine docstring

* fix lint
2022-01-10 15:46:42 +08:00
Yifan Zhou 3e5c785d9a
[Fix] Support MMDet custom dataset (#33)
* Fix mmdet classes

* Fix classes in data_cfg
2022-01-10 10:40:47 +08:00
Yifan Zhou 1a040036cc
[Fix] Avoid outputing empty tensor in NMS (#42)
* Remove slick op

* Fix tests

* Fix tests

* fix tests
2022-01-07 13:35:49 +08:00
Semyon Bevzyuk 3fd17ab6ff
[Refactoring]: Add get_dynamic_axes. (#36)
* [Fix] fix bugs for mmcls performance test (#269)

* fix bugs for mmcls performance test

* fix yapf

* add comments of CLASSES attribute

* Fix input name

* support all codebases and update dump info

* fix docstring

* Added random names.

* onnx_config -> ir_config

* fix test

* fix test

* add a TODO

* use self.output_names

* Fixes

* Rewrite test_torch2onnx.

* Add get_dynamic_axes.

* Fix TestGetDynamicAxes

Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: AllentDan <AllentDan@yeah.net>
Co-authored-by: grimoire <yaoqian@sensetime.com>
2022-01-06 11:21:48 +08:00
Semyon Bevzyuk 8cdb4abcc9
[Fix] Fix input names (#12)
* [Fix] fix bugs for mmcls performance test (#269)

* fix bugs for mmcls performance test

* fix yapf

* add comments of CLASSES attribute

* Fix input name

* support all codebases and update dump info

* fix docstring

* Added random names.

* onnx_config -> ir_config

* fix test

* fix test

* add a TODO

* use self.output_names

* Fixes

* Rewrite test_torch2onnx.

Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: AllentDan <AllentDan@yeah.net>
Co-authored-by: grimoire <yaoqian@sensetime.com>
2021-12-30 19:56:03 +08:00
VVsssssk f6dcd390e1
fix ops unit test (#332) 2021-12-23 16:43:30 +08:00
VVsssssk 9d4d52078b
【Fix】Fix ppl bug about grid sample (#325)
* fix ppl problems

* fix roialign

* fix grid_sampler bug

* fix grid sampler

* fix config

* fix test
2021-12-23 12:11:07 +08:00
lvhan028 e10a1b7c9e
Add more demos (#305)
* add more examples

* change to restore's output image to BGR

* use BUILD_SHARED_LIBS

* update graph module's cmake

* add condition for spdlog package

* change cmakelists

* update cmakelists

* add device_name in each demo

* remove duplicate cmake function

* use palette to draw segmentation's result

* no need to find_package(pplnn) when use MMDeploy's static libs

* remove MMDeploy_LIBS' dependency on spdlog

* #include <opencv2/imgproc/imgproc.hpp>

* change from mmdeploy_core to mmdeploy::core
2021-12-21 21:32:39 +08:00
hanrui1sensetime 33bde90744
[Fix] Fix unittest of ncnn. (#309)
* fix test_pytorch_functions

* fix test_mmocr_models
2021-12-21 18:03:50 +08:00
RunningLeon b060908a58
fix ut (#311) 2021-12-21 11:56:51 +08:00
lzhangzz 43e6714f47
[SDK] Fix asan errors (#308)
* fix several heap-use-after-free bugs

* rebase master

* add option for sanitizers

* rebase master

* fix conflicts
2021-12-21 10:47:21 +08:00
RunningLeon d9b23bfc6f
[fix]: get tensor for DataContainer case (#307)
* fix DataContainer case for get_tensor_from_input

* fix docstring
2021-12-20 19:49:44 +08:00
Yifan Zhou 0f9f0a60e4
[Enhancement]: Update configs for OpenVINO (#306)
* Update config for OpenVINO

* Update test

* Update better test

* Update instance-seg config of OpenVINO
2021-12-20 17:56:25 +08:00
q.yao abdf64a576
[Fix] support ncnn faster-rcnn (#304)
* wtf

* Support fcos ncnn end2end

* support ncnn two stage detector

* fix test
2021-12-20 15:43:38 +08:00
RunningLeon fabdb473bb
Update ncnn test (#298)
* update ncnn test

* type hint

* update test ocr

* update mmseg ut

* ignore ncnn rpn head test

* add logging

* fix ssd base dense head test

* recover bacth in ncnn wrapper

* fix ncnn_ops_ut

* fix yapf

* recover test ops

* fix run_with_backend False

* Revert "fix run_with_backend False"

This reverts commit 83f8f915a25e800f5c2db339584d164ba40b2d9b.

* disable ncnn test test_pytorch_functions.py

Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: hanrui1sensetime <hanrui1@sensetime.com>
2021-12-20 14:05:13 +08:00
RunningLeon ab5c51f3ab
fix mmdet tests (#302)
* fix mmdet tests

* fix
2021-12-18 14:36:54 +08:00
lvhan028 3be1779e66
Refactor tests (#283)
* fix sdk model's pipeline.json

* resize INT64 mask

* refactor unit tests

* fix api in model.h

* remove 'customs' from meta info

* fix zip model

* fix clang-format issue

* put tc on each backend into a SECTION

* change SECTION title

* add DYNAMIC_SECTION for capi unit test

* change 'devices' to 'device_names'

* change trt to tensorrt

* remove uncessary check

* add color_type 'color_ignore_orientation' which is used in ocr

* 'min_width', 'max_width' and 'backend' might be null in pipeline config

* fix clang-format issue

* remove useless code
2021-12-17 19:57:37 +08:00
AllentDan f94d7b5abe
[Feature] Dump jsons to SDK (#279)
* save cods

* save codes

* save codes

* add docstring and fix ut

* use Resize to replace img_scale

* use Dict instead of dict()

* net && weights

* resolve comments

* update pipeline

* update pipeline

* update pipeline

* refactor preprocess

* merge master

* use imagetotensor

* use imagetotensor

* fix typos and improve docstring

* resolve comments

* update lq to img in mmedit

* add mask_thr_binary

* refactor dump info

* resolve comments

* add instance seg to dump info temperarily

* update meta_keys

* update meta_keys

* add meta_keys condition

* update postprocess for mmseg
2021-12-17 11:39:16 +08:00
hanrui1sensetime 3e8237d8bb
[Feature] Support end2end mmdet2.19 retina mobilessd (#286)
* support end2end mmdet2.19 retina mobilessd

* fix yapf

* add end2end fsaf

* fix lint

* fix comments

* fix lint

* add static configs

* fix docformatter

* move ssdhead

* add rewrite for l2norm

* fix ncnn ssd

* fix isort

* rename config

* add ssd_head_ut

* fix string

* align ssd

* remove unused bbox rewriter

Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: maningsheng <mnsheng@yeah.net>
2021-12-17 10:46:54 +08:00
lzhangzz a494a6f6ff
[SDK] sync changes according to performance benchmarks (#297)
* sync SDK changes according to performance benchmarks

* fix end-of-file lint

* fix clang-format issue

* fix clang-format by adding 'clang-format off'

* remove useless casts

* remove 'data' argument of 'operator()'

* change 'Tensor2Img' to 'TensorToImg' according to spec

* correct tensor's name according spec

Co-authored-by: lvhan028 <lvhan_028@163.com>
2021-12-16 13:51:22 +08:00
Yifan Zhou 78b37bbd32
[Fix]: Fix rewriter conflict when processing derived class (#289)
* Fix rewriter

* lint

* rename function and update docstring

* use is class

* Update docstring
2021-12-14 15:40:29 +08:00
AllentDan 0dea300714
[Fix] Reanme ppl to pplnn for all cases (#273)
* add speed benchmark for pplnn and replace all ppl in docs with pplnn

* replace ppl with pplnn for all codes

* docs zh

* fix crnn config path

* update docstring

* rename

* update ppl to pplnn in readme_zh

Co-authored-by: maningsheng <mnsheng@yeah.net>
2021-12-14 15:04:39 +08:00
RunningLeon 0b23c744fc
remove trt in config (#280) 2021-12-13 19:57:15 +08:00
Semyon Bevzyuk a96e5f9d76
[Fix] Fix VFNet test (#281)
* [Fix] fix bugs for mmcls performance test (#269)

* fix bugs for mmcls performance test

* fix yapf

* add comments of CLASSES attribute

* Fix test_get_bboxes_of_vfnet_head

* Fix

Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
2021-12-13 10:43:39 +08:00
VVsssssk 54885e5972
【Feature】Support for mmdet2.19 (#253)
* add one-stage support

* add two-stage support

* fix docstring

* add base_dense_head docstring

* fix docstrign

* fix ncnn code

* fix anchor head

* fix unit test about mmdet model

* fix unit test

* fix base dense head bug:

* fix basehead

* fix basedense head

* fix pad bug

* fix bboxhead

* add rewrite about decode

* fix decode

* rename func

* fix test_mmdet_core and test_object_detection_model

* format test

* fix comments

* remove to(device)

* fix requirements

* fix docs

* fix yolox evaluate butg
2021-12-10 14:03:23 +08:00
Yifan Zhou 4149228716
[Enhancement]: Import codebase only when it is required (#266)
* Add import codebase

* lint

* Fix import order

* typo

* Fix partition

* docstring

* lint
2021-12-10 11:34:22 +08:00
Semyon Bevzyuk 3659b515eb
[Enhancement]: The ability to sort the dataset in tools/test.py. (#244)
* Add sort-data arg to test.py

* Set is_sort_dataset to True.

* Add a check for the possibility of sorting.

* lint

* Added mmdeploy.utils.dataset.

* Add unit test

Co-authored-by: SingleZombie <singlezombie@163.com>
2021-12-09 16:21:50 +08:00
RunningLeon c213879103
fix yolov3 head test with ncnn (#267)
* fix yolov3 head test with ncnn

* add ncnn test

* remove ncnn test
2021-12-09 11:56:12 +08:00
hanrui1sensetime 30af457b5e
[Feature] Support mobilenetv2ssdlite ncnn end2end deployment. (#259)
* support ssdlitemobilenetv2

* fix yapf

* fix ut try

* fix ut try

* try to fix ut

* fix ut general 320->128

* move onnx ops to mmcv

* fix lint

* fix docformatter

* increase doc coverage

* refact self defined ops

* fix yapf

* add description

* fix isort

* fix comments

* fix comments

* fix lint

* sigmoid after concat
2021-12-09 11:55:38 +08:00
RunningLeon d96ee9e9f3
Change op domain (#262)
* change domain to mmdeploy

* update tests

* resolve comments
2021-12-08 15:06:41 +08:00
Yifan Zhou 03c95a1149
[Enhancement]: Optimize config utils (#263)
* Optimize config utils

* Update `get_backend`

* Add assert
2021-12-08 14:55:59 +08:00
lvhan028 36124f6205
Merge sdk (#251)
* 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>
2021-12-07 10:57:55 +08:00
RunningLeon 9e82851a73
[Feature] end2end yolov3 with ncnn (#248)
* support yolov3 ncnn with Yolov3DetectionOutput

* update nms

* fix contiguous in ncnn wrapper

* remove padding to detectionoutput

* format cpp

* Revert "format cpp"

This reverts commit 54050b19cd80d2f8cd851d82a755fd2c8d6c779d.

* fix zero detection

* fix yapf

* onnx2ncnn.cpp

* fix ut

* fix isort

* fix clang-format

* format cpp

* resolve comments

* resolve comments

* fix ut of ncnnend2endmodel

* fix yapf

* fix return list;

Co-authored-by: hanrui1sensetime <hanrui1@sensetime.com>
2021-12-06 19:01:36 +08:00
Yifan Zhou cc72c00e61
[Fix]: Fix homonymic rewriters bugs (#242)
* Fix bug

* license
2021-12-03 18:31:58 +08:00
AllentDan 66d5cddbdc
[Enhancement] Add bicubic resize plugin for tensorrt (#238)
* save codes

* enable export fake bicubic interpolate op to onnx

* save codes

* enable bicubic interpolate trt plugin

* static export

* enable visualize but need align acc

* use torch bicubic upsample

* add unit tests for bicubic interpolate

* fix unit tests

* change mmedit config

* remove useless comments

* remove useless comments

* resolve comments

* fix lint

* clang-format

Co-authored-by: grimoire <yaoqian@sensetime.com>
2021-12-01 16:31:10 +08:00
RunningLeon 3b97f64385
Support YOLOX with TensorRT (#237)
* support trt

* fix test
2021-12-01 15:21:55 +08:00