112 Commits

Author SHA1 Message Date
RunningLeon
b20741352e
update reg (#1217) 2022-10-18 11:16:38 +08:00
OldDreamInWind
161fb01d73
[Feature]add edsr result && super-resolution ncnn-int8 config (#1111)
* add edsr result && ncnn-int8 config

* fix lint error

* fix lint error

* fix lint error && update benchmark.md

* add EDSRx2 pytorch result

* update edsrx4 result in benchmark
2022-10-18 10:04:56 +08:00
tpoisonooo
ace44ae9d9
improvement(scripts): cross build aarch64 (#1126)
* udpate

* update

* CI(scripts): add auto cross build aarch64

* docs(scripts): add zh_cn doc

* docs(scripts): update

* docs(scripts): update

* fix(tools): update

* docs(zh_cn): update

* fix(scripts): remove gcc-7

* docs(scripts): update result

* udpate

* fix(tools): remove useless option

* docs(en): typo

* Update cross_build_aarch64.md

* Update cross_build_aarch64.md

* fix(tools/scripts): review advices

* fix(tools/scripts): update

* fix(cmake): remove useless option

* Update aarch64-linux-gnu.cmake
2022-10-17 11:15:29 +08:00
RunningLeon
41fcc2242f
log cmd info for regresstion test (#1146)
* add log to regresstion test

* update for win

* update mmseg reg yml
2022-10-10 16:23:24 +08:00
AllentDan
76b837194f
Update timer (#1158)
* update time counter

* update test.py

* fix ci
2022-10-10 16:22:19 +08:00
tpoisonooo
5cdf29339b
feat(tools/scripts): add auto install jetson orin (#1105)
* feat(tools/scripts): add auto install jetson orin

* docs(script): rename file

* fix(script): if clause error

* style(scripts): typo
2022-10-09 15:53:19 +08:00
lvhan028
917643fcac
bump version to 0.9.0 (#1115) 2022-09-29 19:48:52 +08:00
tpoisonooo
14e31fb85a
fix(regression_test): use cuda:0 as default (#1020)
* fix(regression_test): use cuda:0 as default

* fix(pillar_scatter.py): fix scaternd rewrite
2022-09-26 16:11:43 +08:00
tpoisonooo
676f1bf49c
improvement(ubuntu_utils.py): check upstream libopencv-dev version (#1068) 2022-09-23 10:21:09 +08:00
tpoisonooo
50bd6b1703
improvement(visualize.py): headless enable inference (#1041)
* improvement(visualize.py): split render and display

* fix(visualize.py): skip render and save for headless device

* docs(deploy.py): update desc
2022-09-19 11:30:47 +08:00
tpoisonooo
538c9cfbb1
docs(scripts): update auto install desc (#1036) 2022-09-14 17:49:29 +08:00
Chen Xin
b87afb9ebb
fix mmdeploy builder on windows (#1018)
* fix mmdeploy builder on windows

* add pyyaml

* fix lint
2022-09-09 15:03:55 +08:00
lvhan028
b310ba8d3e
bump version to v0.8.0 (#1009) 2022-09-07 10:53:50 +08:00
AllentDan
124635ec5f
Add RKNN support. (#865)
* save codes

* support resnet and yolov3

* support yolox

* fix lint

* add mmseg support and a doc

* add UT

* update supported model list

* fix ci

* refine docstring

* resolve comments

* remote output_tensor_type

* resolve comments

* update readme
2022-09-06 11:48:39 +08:00
Chen Xin
6b01a2e649
[Feature] Add option to fuse transform. (#741)
* add collect_impl.cpp to cuda device

* add dummy compute node wich device elena

* add compiler & dynamic library loader

* add code to compile with gen code(elena)

* move folder

* fix lint

* add tracer module

* add license

* update type id

* add fuse kernel registry

* remove compilier & dynamic_library

* update fuse kernel interface

* Add elena-mmdeploy project in 3rd-party

* Fix README.md

* fix cmake file

* Support cuda device and clang format all file

* Add cudaStreamSynchronize for cudafree

* fix cudaStreamSynchronize

* rename to __tracer__

* remove unused code

* update kernel

* update extract elena script

* update gitignore

* fix ci

* Change the crop_size to crop_h and crop_w in arglist

* update Tracer

* remove cond

* avoid allocate memory

* add build.sh for elena

* remove code

* update test

* Support bilinear resize with float input

* Rename elena-mmdeploy to delete

* Introduce public submodule

* use get_ref

* update elena

* update tools

* update tools

* update fuse transform docs

* add fuse transform doc link to get_started

* fix shape in crop

* remove fuse_transform_ == true check

* remove fuse_transform_ member

* remove elena_int.h

* doesn't dump transform_static.json

* update tracer

* update CVFusion to remove compile warning

* remove mmcv version > 1.5.1 dep

* fix tests

* update docs

* add elena use option

* remove submodule of CVFusion

* update doc

* use auto

* use throw_exception(eEntryNotFound);

* update

Co-authored-by: cx <cx@ubuntu20.04>
Co-authored-by: miraclezqc <969226879@qq.com>
2022-09-05 20:29:18 +08:00
Chen Xin
a0fb3be0df
support coreml (#760)
* sdk inference

* fix typo

* fix typo

* add convert things

* fix missling name

* add cls support

* add more pytorch rewriter

* add det support

* support det wip

* make Model export model_path

* fix nms

* add output back

* add docstring

* fix lint

* add coreml build action

* add zh docs

* add coreml backend check

* update ci

* update

* update

* update

* update

* update

* fix lint

* update configs

* add return value when error occured

* update docs

* update docs

* update docs

* fix lint

* udpate docs

* udpate docs

* update

Co-authored-by: grimoire <streetyao@live.com>
2022-09-05 19:55:47 +08:00
Li Zhang
792c27b054
[Feature] Ascend backend (#747)
* add acl backend

* support dynamic batch size and dynamic image size

* add preliminary ascend backend

* support dtypes other than float

* support dynamic_dims in SDK

* fix dynamic batch size

* better error handling

* remove debug info

* [WIP] dynamic shape support

* fix static shape

* fix dynamic batch size

* add retinanet support

* fix dynamic image size

* fix dynamic image size

* fix dynamic dims

* fix dynamic dims

* simplify config files

* fix yolox support

* fix negative index

* support faster rcnn

* add seg config

* update benchmark

* fix onnx2ascend dynamic shape

* update docstring and benchmark

* add unit test, update documents

* fix wrapper

* fix ut

* fix for vit

* error handling

* context handling & multi-device support

* build with stub libraries

* add ci

* fix lint

* fix lint

* update doc ref

* fix typo

* down with `target_link_directories`

* setup python

* makedir

* fix ci

* fix ci

* remove verbose logs

* fix UBs

* export Error

* fix lint

* update checkenv

Co-authored-by: grimoire <yaoqian@sensetime.com>
2022-09-05 12:08:36 +08:00
RunningLeon
cbedf1cc30
fix regression test (#958)
* fix reg

* set sdk wrapper device id

* resolve comment
2022-09-02 11:28:12 +08:00
tpoisonooo
38bcc43256
CI(tools/scripts): add submodule init and update (#977) 2022-09-02 10:28:11 +08:00
Chen Xin
8a40f195bc
remove Release dir in mmdeploy package (#960) 2022-08-31 15:48:42 +08:00
Chen Xin
c04dcd2c62
Support risc-v platform (#910)
* add ppl.nn riscv engine

* update ppl.nn riscv engine

* udpate riscv service (ncnn backend)

* update _build_wrapper for ncnn

* fix build

* fix lint

* update default uri

* update file structure & add cn doc

* remove copy input data

* update docs

* remove ncnn server

* fix docs

* update zh doc

* update toolchain

* remove unused

* update doc

* update doc

* update doc

* rename cross build dirname

* add riscv.md to build_from_source.md

* update cls model

* test ci

* test ci

* test ci

* test ci

* test ci

* update ci

* update ci
2022-08-26 13:54:40 +08:00
tpoisonooo
4534598056
improvement(installation): add script install mmdeploy (#919)
* feat(tools): add build ubuntu x64 ncnn

* ci(tools): add ncnn auto install

* fix(ci): auto install ncnn

* fix(tools): no interactive

* docs(build): add script build

* CI(ncnn): script install ncnn

* docs(zh_cn): fix error os

* fix

* CI(tools/script): test ort install passed

* update

* CI(tools): support pplnn

* CI(build): add pplnn

* docs(tools): update

* fix

* CI(tools): script install torchscript

* docs(build): add torchscript

* fix(tools): clean code and doc

* update

* fix(CI): requirements install failed

* debug CI

* update

* update

* update

* feat(tools/script): support user specify make jobs

* fix(tools/script): fix build pplnn with cuda

* fix(tools/script): torchscript add tips and simplify install mmcv

* fix(tools/script): check nvcc version first

* fix(tools/scripts): pplnn checkout

* fix(CI): add simple check install succcess

* fix

* debug CI

* fix

* fix(CI): pplnn install mis wheel

* fix(CI): build error

* fix(CI): remove misleading message
2022-08-26 13:53:53 +08:00
AllentDan
cad0092801
[Fix] fix device error in dump-info (#912)
* fix device error in dump-info

* fix UT
2022-08-17 18:01:26 +08:00
RunningLeon
3e7e80bcbc
support multi-batch test in profile tool (#868)
* test batch profile with resnet pspnet yolov3 srcnn

* update doc

* update docs

* fix ut

* fix mmdet

* support batch mmorc and mmrotate

* fix mmcls export to sdk

* resolve comments

* rename to fix #819

* fix conflicts with master
2022-08-17 15:01:06 +08:00
VVsssssk
f957284d54
[Feature]support pointpillar nus version (#391)
* support pointpillar nus version

* support pointpillar nus version

* add regression test config for mmdet3d

* fix exit with no error code

* fix cfg

* fix worksize

* fix worksize

* fix cfg

* support nus pp

* fix yaml

* fix yaml

* fix yaml

* add ut

* fix ut

Co-authored-by: RunningLeon <mnsheng@yeah.net>
2022-08-05 16:37:20 +08:00
OldDreamInWind
80d24fc4da
fix error when set device cpu && fix docs error (#866) 2022-08-05 11:30:30 +08:00
lvhan028
83b11bc1ca
[Enhancement] Improve get_started documents and bump version to 0.7.0 (#813)
* simplify commands in get_started

* add installation commands for Windows

* fix typo

* limit markdown and sphinx_markdown_tables version

* adopt html <details open> tag

* bump mmdeploy version

* bump mmdeploy version

* update get_started

* update get_started

* use python3.8 instead of python3.7

* remove duplicate section

* resolve issue #856

* update according to review results

* add reference to prebuilt_package_windows.md

* fix error when build sdk demos
2022-08-04 14:33:27 +08:00
lvhan028
a15365e93f
[Enhancement] build sdk python api in standard-alone manner (#810)
* build sdk python api in standard-alone manner

* enable MMDEPLOY_BUILD_SDK_MONOLITHIC and MMDEPLOY_BUILD_EXAMPLES in prebuild config

* link mmdeploy to python target when monolithic option is on

* checkin README to describe precompiled package build procedure

* use packaging.version.parse(python_version) instead of list(python_version)

* fix according to review results

* rebase master

* rollback cmake.in and apis/python/CMakeLists.txt

* reorganize files in install/example

* let cmake detect visual studio instead of specifying 2019

* rename whl name of precompiled package

* fix according to review results
2022-08-02 10:23:48 +08:00
RunningLeon
2cddae776e
support test with multi batch (#829)
* support test with multi batch

* resolve comment
2022-08-01 21:02:59 +08:00
tpoisonooo
2968a18d80
feat(tools/deploy.py): support snpe (#789)
* fix(tools/deploy.py): support snpe

* improvement(backend/snpe): review advices

* docs(backend/snpe): update build

* docs(backend/snpe): server support specify port

* docs(backend/snpe): update path

* fix(backend/snpe): time counter missing argument

* docs(backend/snpe): add missing argument

* docs(backend/snpe): update download and using

* improvement(snpe_net.cpp): load model with modeldata
2022-08-01 11:08:55 +08:00
q.yao
5b31d7a60d
[Enhancement] Install Optimizer by setuptools (#690)
* Add fuse select assign pass

* move code to csrc

* add config flag

* Add fuse select assign pass

* Add CSE for ONNX

* remove useless code

* Install optimizer by setup tools

* fix comment
2022-07-25 13:04:27 +08:00
AllentDan
6e58c3c37a
fix check env (#785) 2022-07-21 14:07:08 +08:00
Li Zhang
ab07c223da
[Enhancement] Support latest ppl.nn & ppl.cv (#564)
* support latest ppl.nn

* fix pplnn for model convertor

* fix lint

* update memory policy

* import algo from buffer

* update ppl.cv

* use `ppl.cv==0.7.0`

* document supported ppl.nn version

* skip pplnn dependency when building shared libs
2022-07-21 11:47:53 +08:00
RunningLeon
252cabbbc5
Add inference latency test tool (#665)
* add profile tool

* remove print envs in profile tool

* set cudnn_benchmark to True

* add doc

* update tests

* fix typo

* support test with images from a directory

* update doc

* resolve comments
2022-07-19 14:28:22 +08:00
tpoisonooo
41ddcafbb4
Rename onnx2ncnn to mmdeploy_onnx2ncnn (#694)
* improvement(tools/onnx2ncnn.py): rename to mmdeploy_onnx2ncnn

* format(tools/deploy.py): clean code

* fix(init_plugins.py): improve if condition

* fix(CI): update target

* fix(test_onnx2ncnn.py): update desc

* Update init_plugins.py
2022-07-08 09:21:32 +08:00
RunningLeon
17a7d60c7d
pass img_metas while exporting to onnx (#681)
* pass img_metas while exporting to onnx

* remove try-catch in tools for beter debugging

* use get

* fix typo
2022-06-30 17:33:24 +08:00
RunningLeon
5195ff9388
bump version to 0.6.0 (#680)
* bump vertion to 0.6.0

* update version
2022-06-30 16:43:44 +08:00
RunningLeon
f568fe7da5
Add partition doc and sample code (#599)
* update torch2onnx tool to support onnx partition

* add model partition of yolov3

* add cn doc

* update torch2onnx tool to support onnx partition

* add model partition of yolov3

* add cn doc

* add to index.rst

* resolve comment

* resolve comments

* fix lint

* change caption level in docs
2022-06-28 19:46:58 +08:00
tpoisonooo
a228f95335
Improve ncnn patch embed (#592)
* improvement(PatchEmbed): use reshape instead of flatten

* improvement(init_plugins.py): get onnx2ncnn path

* fix(CI): build error

* fix(CI): revert get onnx2ncnn path
2022-06-15 19:16:51 +08:00
lvhan028
594c835b6b merge master and fix the conflicts 2022-06-07 19:04:29 +08:00
RunningLeon
51f630b22c
Fix test ncnn failure in regression test (#551)
* fix ncnn test in regression test

* update doc

* fix docstring
2022-06-06 10:00:02 +08:00
q.yao
07fe3e85e2
[RegressionTest] Add mmrotate regression test (#542)
* Add mmrotate regression test

* update regression test script
2022-06-02 14:28:33 +08:00
q.yao
9cbf9ecb18
[Prebuild] Add prebuilt TensorRT build number (#545)
* Add prebuilt TensorRT build number

* fix
2022-06-01 22:49:55 +08:00
q.yao
b32fc41bed
[Refactor][API2.0] Api refactor2.0 (#529)
* [refactor][API2.0]  Add onnx export and jit trace (#419)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add kwargs

* remove comment

* better pipeline manager

* remove print

* [Refactor][API2.0] Api partition calibration (#433)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add partition

* move calibration

* Better create_calib_table

* better deploy

* add kwargs

* remove comment

* better pipeline manager

* rename api, remove reduant variable, and misc

* [Refactor][API2.0] Api ncnn openvino (#435)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add ncnn api

* finish ncnn api

* add openvino support

* add kwargs

* remove comment

* better pipeline manager

* merge fix

* merge util and onnx2ncnn

* fix docstring

* [Refactor][API2.0] API for TensorRT (#519)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add partition

* move calibration

* Better create_calib_table

* better deploy

* add kwargs

* remove comment

* Add tensorrt API

* better pipeline manager

* add tensorrt new api

* remove print

* rename api, remove reduant variable, and misc

* add docstring

* [Refactor][API2.0] Api ppl other (#528)

* first commit

* add async call

* add new api onnx export and jit trace

* add decorator

* fix ci

* fix torchscript ci

* fix loader

* better pipemanager

* remove comment, better import

* add kwargs

* Add new APIS for pplnn sdk and misc

* remove comment

* better pipeline manager

* merge fix

* update tools/onnx2pplnn.py

* rename function
2022-05-31 09:18:18 +08:00
HinGwenWoong
aabab46d8a
[Enhancement] Improve MMDeploy Regression test (#425)
* make regression test as a module under project

* using `--codebase` instead of  `--deploy-yml`

* Improve doc for `--codebase`

* Add shorter arg  `-p` for `--performance`

* make `checopoint-dir` as an arg for the script

* Gen error log when convert fail.

* Improve res code for testing

* Doc add sdk test detail

* Doc add env setup

* Fix lint

* Fix doc lint

* Improve model path in report

* Improve report title

* Improve report checkpoint path

* Fix lint

* move test yaml under `tests/regression`

* Improve the test yaml path

* Fix lint

* Improve doc

* make func `update_report` code better

* move doc to new location

* Fix arg

* Update arg details

* Use cpu when openvino and onnxruntime cpu package

* Fix word

* Fix func of openpyxl 3.0.9

* Add some info

* Fix lint

* Fix filename

* Fix doc link

* Fix dir name with space when is not sdk

* Add args `--models` for test specific model(s)

* not saving report when no model in codebase when using `--models`

* Fix doc

* Fix lint

* Add table for metric in doc

* Improve table for doc

* Using `None` install of `['all']`

* Improce doc

* set device type properly

* Increate popen bufsize

* Add `precision_type` in `work-dir`

* Fix popen stuck

* Fix lint

* Fix lint

* Fix popen stuck by using file handler

* Make metric dataset as a list

* Update mmseg.yml

* Remove 'FPS' in the report

* Update do_regression_test.md

* Improve log

* Fix codespell

* Fix doc

* ncnn only save `xxx.param` as checkpoint name in the report

Co-authored-by: maningsheng <mnsheng@yeah.net>
2022-05-27 17:08:32 +08:00
tpoisonooo
ea0a9e5d43
feat(tools/deploy.py): support ncnn quantization (#476)
* feat(tools): add onnx2ncnn_quant_table

* feat(tools): add quantization image dataset

* feat(tools): add image dataset

* feat(tools/deploy.py): support quant

* fix(CI): lint

* fix(CI): format

* docs(zh_cn): add quantization usage

* docs(zh_cn): add benchmark

* feat(tools): add onnx2ncnn_quant_table

* docs(zh_cn): add more test result

* CI(github): add quant script

* CI(.github/scripts): add test quant

* fix(CI): remove pushd and popd

* feat(CI): debug

* fix(CI): path error

* fix(CI): fix path

* fix(CI): install wget

* fix(CI): review advices

* improvement(mmdeploy): review advice

* fix(tools): rename to onnx2ncnn_quant_table.py

* improvement(tools): rename file

* improvement(test): remove useless

* fix(tools/quant_image_dataset): remove loadFile in test.pipeline

* docs(quantization.md): update description

* fix(CI): protobuf version

* fix(CI): pip install

* docs(quantization): review advice

* fix(CI): revert mmcv version

* fix(CI): udpate pb version

* fix(CI): update
2022-05-26 19:53:56 +08:00
Johannes L
651eec239b
MMdeploy build & install script + prerequisites (#399)
* Initial commit of build script

* Fixed lint

* * Set prefix depending on install arch
* Auto detect installed version of cmake, gcc. Update if necessary
* Prompt to reinstall venv if exists
* Disable .tar packing
* Enable MMDEPLOY SDK Python
* Misc cleanup

* Fixed lint

* Renamed script

* * Set env variables without restarting script.
* OpenCV install optional.
* Fix numpy OPENBLAS_CORETYPE on numpy >1.19.4.
* Remove specific build files.
* Fix prebuild output .tar.gz.
* Comments added. exec bash when closing script

* * Use root dir as MMDeploy dir.
* Use pip3.
* Remove explicit MMDeploy checkout version.
* Use MMDEPLOY_DIR for examples path

* Make PyTorch, torchvision, mmcv install optional

* * Do not deactivate python venv.
* Make prebuild archive optional.
* Add venv* to gitignore

* * Add support for unattended, interactive install. * Cleanup  misc. comments.

* Check input arguments before continuing.

* Added additional log messages, comments added

* Added default option when pressing [ENTER]

* * Rearranged cmake, gcc build/install order.
* Mention default option when reinstalling venv
* sudo make install instead of cmake --install

* Moved script to tools/scripts

* Fixed relative path when generating WORKING_DIR
2022-05-25 17:13:24 +08:00
q.yao
4710ab910d
[Refactor][tools] Add prebuild tools. (#347)
* move to lib

* optional import pytorch rewriter

* reduce torch dependancy of tensorrt export

* remove more mmcv support

* fix pytest

* remove mmcv logge

* Add `mmdeploy.utils.logging`

* Improve the common of the `get_logger`

* Fix lint

* onnxruntim add try catch to  import wrapper if pytorch is available

* Using `mmcv.utils.logging` in all files under `mmdeploy/codebase`

* add __init__

* add prebuild tools

* support windows

* for comment

* exit if failed

* add exist

* decouple

* add tags

* remove .mmdeploy_python

* read python version from system

* update windows config

* update linux config

* remote many

* better build name

* rename python tag

* fix pyhon-tag

* update window config

* add env search

* update tag

* fix build without CUDA_TOOLKIT_ROOT_DIR

Co-authored-by: HinGwenWoong <peterhuang0323@outlook.com>
2022-05-23 17:15:09 +08:00
AllentDan
ba641c3b23
[Fix] set optional arg a default value (#483)
* optional default value

* resolve comments

Co-authored-by: dongchunyu.vendor <dongchunyu@pjlab.org.cn>
2022-05-17 19:57:12 +08:00
hanrui1sensetime
0cd44a6799
[Fix] Fix display bugs for windows (#451)
* fix issue 330 for windows

* fix code

* fix lint

* fix all platform
2022-05-12 12:00:57 +08:00