Commit Graph

63 Commits (413cc769885c16c3551ae36ab753b3a4ffb01c6d)

Author SHA1 Message Date
Li Zhang 9fee1920fa
[Fix] Fix palette generation on opencv-3.x (#1779) 2023-02-17 18:40:44 +08:00
q.yao a3c0566451
bump version to 1.0.0rc2 (#1754)
* bump version

* update cmake
2023-02-16 14:20:33 +08:00
Li Zhang 44b144f095
[Cherry-pick] Fix `WarpBbox` and memory leak in `TextRecognizer` (#1752)
(cherry picked from commit cadc2658f3)
2023-02-13 19:55:36 +08:00
Li Zhang 19815ae9ae
add coco whole-body skeleton (#1742)
(cherry picked from commit 31b099a37b)
2023-02-09 19:10:07 +08:00
Li Zhang 2731b61abd [Fix] Add an option to flip webcam inputs for pose tracker demo (#1725)
(cherry picked from commit 5de0ecfcaf)
2023-02-07 21:12:44 +08:00
Li Zhang 682cb79bc5 [Enhancement] Optimize C++ demos (#1715)
* optimize demos

* show text in image

* optimize demos

* fix minor

* fix minor

* fix minor

* install utils & fix demo file extensions

* rename

* parse empty flags

* antialias

* handle video complications

(cherry picked from commit 2b18596795)
2023-02-07 21:12:44 +08:00
Chen Xin 1f56eea807 [Feature] Support feature map output for mmsegmentation (#1625)
* add feature map output for mmseg

* update api

* update demo

* fix return

* update format_shape

* fix lint

* update csharp demo

* update python demo && api

* fix coreml build

* fix lint

* better sort

* update

* update cpp demo & add missing header

* change to CHW

* update csharp api

* update isort version to 5.12.0

* fix python api

* fix log

* more detail api docs

* isort support python3.7

* remove isort change

* remove whitespace

* axes check

* remove FormatShapeImpl

* minor

* add permute tc

* remove stride buffer

(cherry picked from commit b85f34141b)
2023-02-07 21:04:20 +08:00
lvhan028 8062e4e41d
[Enhancement] remove MMDEPLOY_BUILD_SDK_CXX_API option (#1688) (#1692)
* remove MMDEPLOY_BUILD_SDK_CXX_API option

* update

* update
(cherry picked from commit b101a4af65)
2023-01-31 14:25:22 +08:00
Li Zhang 7d96969149 [Feature] Pose tracker C/C++/Python API&demos (#1663)
* add PoseTracker API

* add mahalanobis distance, add det_pose demo

* simplify api

* simplify api

* fix cmake & fix `CropResizePad`

* ignore out of frame bboxes

* clean-up

* fix lint

* add c api docs

* add c++ api docs/comments

* fix gcc7 build

* fix gcc7+opencv3

* fix stupid lint

* fix ci

* add help info & webcam support for C++ pose tracker demo

* add webcam support for Python pose tracker demo

* fix lint

* minor

* minor

* fix MSVC build

* fix python binding

* simplify module adapter

* fix module adapter

* minor fix

(cherry picked from commit 3d425bbb9f)
2023-01-31 12:07:40 +08:00
Chen Xin 8d344ee164 [Enhancement] Speedup TopDownAffine by CropResizePad (#1486)
* "use 'CropResizePad' to speed up topdownaffine"

* add missing header

(cherry picked from commit c458e2a524)
2023-01-31 12:07:40 +08:00
Chen Xin 15ad234a7a
Cherry-pick PR 1366, 1370, 1460, 1577, 1598, 1601, 1612, 1626 to dev-1.x (#1635)
* [Fix] Fix example standalone build for msvc (#1626)

* fix example build for msvc

* move /Zc:__cplusplus to core

* [FIX] Fix csharp net48 and batch inference (#1370)

* fix csharp net48

* add missing file

* update

* fix batch inference

* update demo

* update

* update version

* update nuget package version & fix project name

* build monolithic SDK by default (#1577)

* Fix debug build for PoseTracker (#1601)

* [Fix] Fix aligned allocations on Android (#1612)

* fix android alignment

* fix typo

* fix size

* Fix build error on windows-cuda platform (#1598)

* [Fix] Relax module adapter template constraints (#1366)

* relax module adapter constraint

* remove forwarding `operator()`

* fix YOLOV5Head naming

Co-authored-by: Li Zhang <lzhang329@gmail.com>
2023-01-17 18:52:58 +08:00
Li Zhang f288d00d50 [Enhancement] Optimize pose tracker (#1460)
* sync master

* suppress overlapped tracks

* add CUDA WarpAffine

* export symbols

* fix linkage

* update pose tracker

* clean-up

* fix MSVC build

* fix MSVC build

* add ffmpeg cli command
2023-01-05 11:57:21 +08:00
q.yao 3f261e6d50
[Refactor] Refactor rewriter context for MMRazor (#1483)
* wip

* update rewriter

* Support all codebase

* update docs

* fix ssd

* rename qualname

* support torch.fx.wrap

* import by torch version

Co-authored-by: pppppM <gjf_mail@126.com>
2022-12-13 19:03:56 +08:00
lvhan028 78901a2451
cherry-pick #1353 and #1509
cherry-pick #1353 and #1509 and resolve the build issues
2022-12-13 02:53:01 -08:00
q.yao 2afbb9945e
[Enhancement] MMRotate 1.x support (#1401)
* wip

* update twostage detector support

* fix unit test

* sdk wip

* comment

* refactor export info

* fix

* support roi trans

* update rotate.yml

* clear model.py, support torch1.13
2022-12-12 19:27:03 +08:00
RunningLeon 25aa0d4c0a
[Enhancement]: add md link check github action (#1320)
* add md link check action

* add config

* fix doc link

* fix dead links

* change dev-1.x to 1.x

* fix mmocr url
2022-12-08 16:13:51 +08:00
lvhan028 04c9793da0 cherry-pick: Decouple preprocess operation and transformation (#1353) 2022-12-08 14:49:12 +08:00
Chen Xin c4e95f1ade
Sync profiler (#1446)
* Sdk profiler (#1274)

* sdk-profiler

* fix lint

* support lift

* sync net module when profile

* use Scope*

* update use task name

* fix

* use std::unique_ptr<Event>

* remove mmdeploy::graph link for c and transform

* fix

* fix

* fix

* [Enhancement] refactor profiler (#1403)

* reduce profile node name

* add profiler for pipeline

* add profiler for cond

* udpate

* fix total time (#1451)
2022-12-07 18:51:17 +08:00
Li Zhang 49d8825efc [Fix] Fix det_pose demo (#1419)
* fix det_pose demo

* remove useless input
(cherry picked from commit 385f5b6102)
2022-12-05 11:49:04 +08:00
Li Zhang 070036f964 [Refactor] better SDK registry (#1368)
* refactor SDK registry

* fix lint

* fix typo

* sync

* use nested namespace

* rename
(cherry picked from commit 99040d5655)
2022-12-05 11:44:44 +08:00
Chen Xin ccc21289d1
[Feature] Sync mmaction2-sdk(master) to dev1.x (#1307)
* sync mmaction sdk

* pipeline.json

* fix docs

* replace topk when make regression for mmaction2

* add python api

* add missing file

* add missing test file

* remove cudnn dep for formatshape

* add sample arg for input
2022-11-10 15:13:24 +08:00
Li Zhang 53d4668a2f [Feature] Add `Cond` node and pose tracker demo (#1186)
* add Cond node

* WIP PoseTracker

* fix pose tracker

* minor fix

* simplify design

* add timing

* sync

* visualize

* remove file check
(cherry picked from commit f2be2abeb5)
2022-11-01 16:36:43 +08:00
lvhan028 f311cfd437 tell batch inference demos and single image inference demos apart (#986)
(cherry picked from commit 4c872a41c3)
2022-11-01 16:35:45 +08:00
RunningLeon 6e9c2527b4 merge master from c35099ef0 2022-10-13 11:12:07 +08:00
lvhan028 290d0d6e74
reorg demo/csrc (#1119)
* reorg demo/csrc

* disable det_cls and det_pose build
2022-09-28 11:47:00 +08:00
Mengyang Liu 0effa59440
Split demos of C and C++ SDK into two subdirectories (#1099)
* Split demos of C and C++ SDK into two subdirectories

* Split demos of C and C++ SDK into two subdirectories

* Split demos of C and C++ SDK into two subdirectories

* Split demos of C and C++ SDK into two subdirectories

* Combine add_example
2022-09-27 13:40:04 +08:00
Li Zhang bf887cc8bc
[Enhancement] Refactor SDK pipeline (#938)
* unify C API naming

* fix demo and move apis/c/* -> apis/c/mmdeploy/*

* fix lint

* WIP refactor pipeline

* backward compatibility

* working pipeline demo

* add text det-recog demo

* add det-pose demo

* fix build

* fix demo

* add environment interface

* add environment to pass scheduler & model info at runtime

* update demos

* add pipeline API for Python

* fix `FromPyObject`

* fix for opencv-4.2

* environment -> context, improve pipeline

* python model interface

* fix cmake

* fix python & cmake

* context & C++ pipeline API

* minor fix

* improve API

* fix shared libs

* refresh C/Python API

* propagate context

* fix  python demo

* fix

* add namespace

* fix namespace

* fix mis-changed strings

* fix

* fix python api

* rename

* clean-up

* fix pose detector

* clean-up

* clean-up

* clean-up

* fix python API build

* fix CI

* fix lint

* fix lint

* fix lint & demo

* install pipeline.hpp

* fix MSVC shared library build

* fix sample

* fix MSVC monolithic build

* minor fix
2022-09-26 16:11:14 +08:00
lvhan028 11409d7c98
update doc about codebase deployment (#1051)
* update doc about mmclassfication deployment

* update install mmdeploy part

* correct mmcls deployment commands

* reformat supported models

* add deployed model specification

* update doc about mmdetection deployment

* fix according to reviewer comments

* fix according to reviewer comments

* fix according to reviewer comments

* fix according to reviewer comments

* fix according to reviewer comments

* fix according to reviewer comments

* update doc about mmsegmentation deployment

* update doc about mmocr deployment

* check in cityscapes.png as an input image for converting mmsegmentation model

* update mmocr deployment

* update mmseg.md

* update mmseg.md

* update mmocr.md

* update sdk model inference for mmocr deployment

* update according to reviewer comments

* update

* update

* update mmedit

* update mmpose deployment

* check in face.png for mmedit deployment

* update

* fix according to reviewer comments

* remove duplicate doc

* update docs in english

* update codebase documents in chinese

* fix according to reviewerss comments

* update according reviewer comments

* ObjectDetection -> Object Detection

* InstanceSegmentation -> Instance Segmentation
2022-09-24 18:05:24 +08:00
RunningLeon 4d8ea40f55
Sync v0.7.0 to dev-1.x (#907)
* make -install -> make install (#621)

change `make -install` to `make install`

https://github.com/open-mmlab/mmdeploy/issues/618

* [Fix] fix csharp api detector release result (#620)

* fix csharp api detector release result

* fix wrong count arg of xxx_release_result in c# api

* [Enhancement] Support two-stage rotated detector TensorRT. (#530)

* upload

* add fake_multiclass_nms_rotated

* delete unused code

* align with pytorch

* Update delta_midpointoffset_rbbox_coder.py

* add trt rotated roi align

* add index feature in nms

* not good

* fix index

* add ut

* add benchmark

* move to csrc/mmdeploy

* update unit test

Co-authored-by: zytx121 <592267829@qq.com>

* Reduce mmcls version dependency (#635)

* fix shufflenetv2 with trt (#645)

* fix shufflenetv2 and pspnet

* fix ci

* remove print

* ' -> " (#654)

If there is a variable in the string, single quotes will ignored it, while double quotes will bring the variable into the string after parsing

* ' -> " (#655)

same with https://github.com/open-mmlab/mmdeploy/pull/654

* Support deployment of Segmenter (#587)

* support segmentor with ncnn

* update regression yml

* replace chunk with split to support ts

* update regression yml

* update docs

* fix segmenter ncnn inference failure brought by #477

* add test

* fix test for ncnn and trt

* fix lint

* export nn.linear to Gemm op in onnx for ncnn

* fix ci

* simplify `Expand` (#617)

* Fix typo (#625)

* Add make install in en docs

* Add make install in zh docs

* Fix typo

* Merge and add windows build

Co-authored-by: tripleMu <865626@163.com>

* [Enhancement] Fix ncnn unittest (#626)

* optmize-csp-darknet

* replace floordiv to torch.div

* update csp_darknet default implement

* fix test

* [Enhancement] TensorRT Anchor generator plugin (#646)

* custom trt anchor generator

* add ut

* add docstring, update doc

* 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

* update docs (#624)

* Add java apis and demos (#563)

* add java classifier detector

* add segmentor

* fix lint

* add ImageRestorer java apis and demo

* remove useless count parameter for Segmentor and Restorer, add PoseDetector

* add RotatedDetection java api and demo

* add Ocr java demo and apis

* remove mmrotate ncnn java api and demo

* fix lint

* sync java api folder after rebase to master

* fix include

* remove record

* fix java apis dir path in cmake

* add java demo readme

* fix lint mdformat

* add test javaapi ci

* fix lint

* fix flake8

* fix test javaapi ci

* refactor readme.md

* fix install opencv for ci

* fix install opencv : add permission

* add all codebases and mmcv install

* add torch

* install mmdeploy

* fix image path

* fix picture path

* fix import ncnn

* fix import ncnn

* add submodule of pybind

* fix pybind submodule

* change download to git clone for submodule

* fix ncnn dir

* fix README error

* simplify the github ci

* fix ci

* fix yapf

* add JNI as required

* fix Capitalize

* fix Capitalize

* fix copyright

* ignore .class changed

* add OpenJDK installation docs

* install target of javaapi

* simplify ci

* add jar

* fix ci

* fix ci

* fix test java command

* debugging what failed

* debugging what failed

* debugging what failed

* add java version info

* install openjdk

* add java env var

* fix export

* fix export

* fix export

* fix export

* fix picture path

* fix picture path

* fix file name

* fix file name

* fix README

* remove java_api strategy

* fix python version

* format task name

* move args position

* extract common utils code

* show image class result

* add detector result

* segmentation result format

* add ImageRestorer result

* add PoseDetection java result format

* fix ci

* stage ocr

* add visualize

* move utils

* fix lint

* fix ocr bugs

* fix ci demo

* fix java classpath for ci

* fix popd

* fix ocr demo text garbled

* fix ci

* fix ci

* fix ci

* fix path of utils ci

* update the circleci config file by adding workflows both for linux, windows and linux-gpu (#368)

* update circleci by adding more workflows

* fix test workflow failure on windows platform

* fix docker exec command for SDK unittests

* Fixed tensorrt plugin not found in Windows (#672)

* update introduction.png (#674)

* [Enhancement] Add fuse select assign pass (#589)

* Add fuse select assign pass

* move code to csrc

* add config flag

* remove bool cast

* fix export sdk info of input shape (#667)

* Update get_started.md (#675)

Fix backend model assignment

* Update get_started.md (#676)

Fix backend model assignment

* [Fix] fix clang build (#677)

* fix clang build

* fix ndk build

* fix ndk build

* switch to `std::filesystem` for clang-7 and later

* Deploy the Swin Transformer on TensorRT. (#652)

* resolve conflicts

* update ut and docs

* fix ut

* refine docstring

* add comments and refine UT

* resolve comments

* resolve comments

* update doc

* add roll export

* check backend

* update regression test

* bump version to 0.6.0 (#680)

* bump vertion to 0.6.0

* update version

* 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

* [Fix] fix ssd ncnn ut (#692)

* fix ssd ncnn ut

* fix yapf

* fix passing img_metas to pytorch2onnx for mmedit (#700)

* fix passing img_metas for mmdet3d (#707)

* [Fix] Fix android build (#698)

* fix android build

* fix cmake

* fix url link

* fix wrong exit code in pipeline_manager (#715)

* fix exit

* change to general exit errorcode=1

* fix passing wrong backend type (#719)

* 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

* [Fix] Fix mmdet ort static shape bug (#687)

* fix shape

* add device

* fix yapf

* fix rewriter for transforms

* reverse image shape

* fix ut of distance2bbox

* fix rewriter name

* fix c4 for torchscript (#724)

* [Enhancement] Standardize C API (#634)

* unify C API naming

* fix demo and move apis/c/* -> apis/c/mmdeploy/*

* fix lint

* fix C# project

* fix Java API

* [Enhancement] Support Slide Vertex TRT (#650)

* reorgnize mmrotate

* fix

* add hbb2obb

* add ut

* fix rotated nms

* update docs

* update benchmark

* update test

* remove ort regression test, remove comment

* Fix get-started rendering issues in readthedocs (#740)

* fix mermaid markdown rendering issue in readthedocs

* fix error in C++ example

* fix error in c++ example in zh_cn get_started doc

* [Fix] set default topk for dump info (#702)

* set default topk for dump info

* remove redundant docstrings

* add ci densenet

* fix classification warnings

* fix mmcls version

* fix logger.warnings

* add version control (#754)

* fix satrn for ORT (#753)

* fix satrn for ORT

* move rewrite into pytorch

* 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

* [Enhancement] Add CSE ONNX pass (#647)

* Add fuse select assign pass

* move code to csrc

* add config flag

* Add fuse select assign pass

* Add CSE for ONNX

* remove useless code

* Test robot

Just test robot

* Update README.md

Revert

* [Fix] fix yolox point_generator (#758)

* fix yolox point_generator

* add a UT

* resolve comments

* fix comment lines

* limit markdown version (#773)

* [Enhancement] Better index put ONNX export. (#704)

* Add rewriter for tensor setitem

* add version check

* Upgrade Dockerfile to use TensorRT==8.2.4.2 (#706)

* Upgrade TensorRT to 8.2.4.2

* upgrade pytorch&mmcv in CPU Dockerfile

* Delete redundant port example in Docker

* change 160x160-608x608 to 64x64-608x608 for yolov3

* [Fix] reduce log verbosity & improve error reporting (#755)

* reduce log verbosity & improve error reporting

* improve error reporting

* [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

* [Fix][P0] Fix for torch1.12 (#751)

* fix for torch1.12

* add comment

* fix check env (#785)

* [Fix] fix cascade mask rcnn (#787)

* fix cascade mask rcnn

* fix lint

* add regression

* [Feature] Support RoITransRoIHead (#713)

* [Feature] Support RoITransRoIHead

* Add docs

* Add mmrotate models regression test

* Add a draft for test code

* change the argument name

* fix test code

* fix minor change for not class agnostic case

* fix sample for test code

* fix sample for test code

* Add mmrotate in requirements

* Revert "Add mmrotate in requirements"

This reverts commit 043490075e.

* [Fix] fix triu (#792)

* fix triu

* triu -> triu_default

* [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

* [Feature] support MMRotate model with le135 (#788)

* support MMRotate model with le135

* cse before fuse select assign

* remove unused import

* [Fix] Support macOS build (#762)

* fix macOS build

* fix missing

* add option to build & install examples (#822)

* [Fix] Fix setup on non-linux-x64 (#811)

* fix setup

* replace long to int64_t

* [Feature] support build single sdk library (#806)

* build single lib for c api

* update csharp doc & project

* update test build

* fix test build

* fix

* update document for building android sdk (#817)

Co-authored-by: dwSun <dwsunny@icloud.com>

* [Enhancement] support kwargs in SDK python bindings (#794)

* support-kwargs

* make '__call__' as single image inference and add 'batch' API to deal with batch images inference

* fix linting error and typo

* fix lint

* improvement(sdk): add sdk code coverage (#808)

* feat(doc): add CI

* CI(sdk): add sdk coverage

* style(test): code format

* fix(CI): update coverage.info path

* improvement(CI): use internal image

* improvement(CI): push coverage info once

* [Feature] Add C++ API for SDK (#831)

* add C++ API

* unify result type & add examples

* minor fix

* install cxx API headers

* fix Mat, add more examples

* fix monolithic build & fix lint

* install examples correctly

* fix lint

* 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

* Support setup on environment with no PyTorch (#843)

* support test with multi batch (#829)

* support test with multi batch

* resolve comment

* import algorithm from buffer (#793)

* [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

* Fix SDK backend (#844)

* fix mmpose python api (#852)

* add prebuild package usage docs on windows (#816)

* add prebuild package usage docs on windows

* fix lint

* update

* try fix lint

* add en docs

* update

* update

* udpate faq

* fix typo (#862)

* [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

* fix mmcls

Co-authored-by: Ryan_Huang <44900829+DrRyanHuang@users.noreply.github.com>
Co-authored-by: Chen Xin <xinchen.tju@gmail.com>
Co-authored-by: q.yao <yaoqian@sensetime.com>
Co-authored-by: zytx121 <592267829@qq.com>
Co-authored-by: Li Zhang <lzhang329@gmail.com>
Co-authored-by: tripleMu <gpu@163.com>
Co-authored-by: tripleMu <865626@163.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: Bryan Glen Suello <11388006+bgsuello@users.noreply.github.com>
Co-authored-by: zambranohally <63218980+zambranohally@users.noreply.github.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: tpoisonooo <khj.application@aliyun.com>
Co-authored-by: Hakjin Lee <nijkah@gmail.com>
Co-authored-by: 孙德伟 <5899962+dwSun@users.noreply.github.com>
Co-authored-by: dwSun <dwsunny@icloud.com>
Co-authored-by: Chen Xin <irexyc@gmail.com>
2022-08-19 09:30:13 +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
Li Zhang f54854ec1c
[Feature] Add C++ API for SDK (#831)
* add C++ API

* unify result type & add examples

* minor fix

* install cxx API headers

* fix Mat, add more examples

* fix monolithic build & fix lint

* install examples correctly

* fix lint
2022-07-29 14:36:25 +08:00
lvhan028 2c18fbd2c8
[Enhancement] support kwargs in SDK python bindings (#794)
* support-kwargs

* make '__call__' as single image inference and add 'batch' API to deal with batch images inference

* fix linting error and typo

* fix lint
2022-07-29 12:32:42 +08:00
Chen Xin b6b22a1b6f
[Feature] support build single sdk library (#806)
* build single lib for c api

* update csharp doc & project

* update test build

* fix test build

* fix
2022-07-28 14:07:48 +08:00
Li Zhang c1d673e804
add option to build & install examples (#822) 2022-07-27 20:33:31 +08:00
Li Zhang bfd46c1c68
[Fix] Support macOS build (#762)
* fix macOS build

* fix missing
2022-07-26 21:54:49 +08:00
Li Zhang 14b2bfd524
[Enhancement] Standardize C API (#634)
* unify C API naming

* fix demo and move apis/c/* -> apis/c/mmdeploy/*

* fix lint

* fix C# project

* fix Java API
2022-07-12 14:04:33 +08:00
hanrui1sensetime 051e1577a3
Add java apis and demos (#563)
* add java classifier detector

* add segmentor

* fix lint

* add ImageRestorer java apis and demo

* remove useless count parameter for Segmentor and Restorer, add PoseDetector

* add RotatedDetection java api and demo

* add Ocr java demo and apis

* remove mmrotate ncnn java api and demo

* fix lint

* sync java api folder after rebase to master

* fix include

* remove record

* fix java apis dir path in cmake

* add java demo readme

* fix lint mdformat

* add test javaapi ci

* fix lint

* fix flake8

* fix test javaapi ci

* refactor readme.md

* fix install opencv for ci

* fix install opencv : add permission

* add all codebases and mmcv install

* add torch

* install mmdeploy

* fix image path

* fix picture path

* fix import ncnn

* fix import ncnn

* add submodule of pybind

* fix pybind submodule

* change download to git clone for submodule

* fix ncnn dir

* fix README error

* simplify the github ci

* fix ci

* fix yapf

* add JNI as required

* fix Capitalize

* fix Capitalize

* fix copyright

* ignore .class changed

* add OpenJDK installation docs

* install target of javaapi

* simplify ci

* add jar

* fix ci

* fix ci

* fix test java command

* debugging what failed

* debugging what failed

* debugging what failed

* add java version info

* install openjdk

* add java env var

* fix export

* fix export

* fix export

* fix export

* fix picture path

* fix picture path

* fix file name

* fix file name

* fix README

* remove java_api strategy

* fix python version

* format task name

* move args position

* extract common utils code

* show image class result

* add detector result

* segmentation result format

* add ImageRestorer result

* add PoseDetection java result format

* fix ci

* stage ocr

* add visualize

* move utils

* fix lint

* fix ocr bugs

* fix ci demo

* fix java classpath for ci

* fix popd

* fix ocr demo text garbled

* fix ci

* fix ci

* fix ci

* fix path of utils ci
2022-06-29 11:02:08 +08:00
Li Zhang a822ba7330
add `MMDEPLOY_TASKS` & simplify demo cmake (#606)
* add `MMDEPLOY_TASKS` & simply cmake

* remove debug log
2022-06-17 13:56:45 +08:00
RunningLeon 296412fd08
[Docs] Replace markdownlint with mdformat and configure myst-parser (#610)
* replace mdlint with mdformat

* set myst_heading_anchor for doc

* update precommit yml

* format md files
2022-06-17 09:19:10 +08:00
Chen Xin cb09d2238b
fix mmcls-c-demo (#580)
Co-authored-by: irexyc <chenxin2@sensetime.com>
2022-06-09 11:45:57 +08:00
lvhan028 594c835b6b merge master and fix the conflicts 2022-06-07 19:04:29 +08:00
lvhan028 0d609701df
add sdk python demo (#554)
* check in python demos

* check in text detector python demo

* check in roatated object python demo

* check in pose python demo

* ignore the output class number when testing metrics with sdk as a backend

* fix object_detection

* rollback segmentation_model and python/segmentor.cpp
2022-06-07 12:16:09 +08:00
tpoisonooo 456076c06b
fix(demo/csrc/CMakeLists.txt): build option (#553) 2022-06-06 14:25:18 +08:00
lzhangzz 567ec62296
[Fix] Fix recent build problems (#544)
* simplify deps management

* skip visibility flags for MSVC

* simplify cuda deps

* naming

* workaround for cmake<3.17

* add spdlog dependency

* move the enablement of CUDA to top level CMakeLists.txt

* fix MSVC build

* fix lint

* fix build for backend ops only

* remove comment

* allow to use apis/python as a standalone project

* remove redundant cmake code

* control shared or static lib using `MMDEPLOY_SHARED_LIBS` instead of `BUILD_SHARED_LIBS`

* fix MSVC build

* update docs
2022-06-06 11:19:34 +08:00
lzhangzz 46bfe0ac87
[Feature] New pipeline & executor for SDK (#497)
* executor prototype

* add split/when_all

* fix GCC build

* WIP let_value

* fix let_value

* WIP ensure_started

* ensure_started & start_detached

* fix let_value + when_all combo on MSVC 142

* fix static thread pool

* generic just, then, let_value, sync_wait

* minor

* generic split and when_all

* fully generic sender adapters

* when_all: workaround for GCC7

* support legacy spdlog

* fix memleak

* bulk

* static detector

* fix bulk & first pipeline

* bulk for static thread pools

* fix on MSVC

* WIP async batch submission

* WIP collation

* async batch

* fix detector

* fix async detector

* fix

* fix

* debug

* fix cuda allocator

* WIP type erased executor

* better type erasure

* simplify C API impl

* Expand & type erase TC

* deduction guide for type erased senders

* fix GCC build

* when_all for arrays of Value senders

* WIP pipeline v2

* WIP pipeline parser

* WIP timed batch operation

* add registry

* experiment

* fix pipeline

* naming

* fix mem-leak

* fix deferred batch operation

* WIP

* WIP configurable scheduler

* WIP configurable scheduler

* add comment

* parse scheduler config

* force link schedulers

* WIP pipeable sender

* WIP CPO

* ADL isolation and dismantle headers

* type erase single thread context

* fix MSVC build

* CPO

* replace decay_t with remove_cvref_t

* structure adjustment

* structure adjustment

* apply CPOs & C API rework

* refine C API

* detector async C API

* adjust detector async C API

* # Conflicts:
#	csrc/apis/c/detector.cpp

* fix when_all for type erased senders

* support void return for Then

* async detector

* fix some CPOs

* minor

* WIP rework capture mechanism for type erased types

* minor fix

* fix MSVC build

* move expand.h to execution

* make `Expand` pipeable

* fix type erased

* un-templatize `_TypeErasedOperation`

* re-work C API

* remove async_detector C API

* fix pipeline

* add flatten & unflatten

* fix flatten & unflatten

* add aync OCR demo

* config executor for nodes & better executor API

* working async OCR example

* minor

* dynamic batch via scheduler

* dynamic batch on `Value`

* fix MSVC build

* type erase dynamic batch scheduler

* sender as Python Awaitable

* naming

* naming

* add docs

* minor

* merge tmp branch

* unify C APIs

* fix ocr

* unify APIs

* fix typo

* update async OCR demo

* add v3 API text recognizer

* fix v3 API

* fix lint

* add license info & reformat

* add demo async_ocr_v2

* revert files

* revert files

* resolve link issues

* fix scheduler linkage for shared libs

* fix license header

* add docs for `mmdeploy_executor_split`

* add missing `mmdeploy_executor_transfer_just` and `mmdeploy_executor_execute`

* make `TimedSingleThreadContext` header only

* fix lint

* simplify type-erased sender
2022-06-01 14:10:43 +08:00
Chen Xin 9e6a3c8ec5
add csharp support (#388)
* add csharp support, init commit

* export MMDeploySharpExtern.dll when build sdk

* refactor code

* multi frameworks

* move csharp demo to demo folder

* try to fix lint

* try to fix lint

* update csharp demo Readme

* rename MMDeploySharp -> MMDeploy

* add comment why build MMDeployExtern.dll

* squeeze MMDeploy project

* remove Mm

* print error code

* update c# api build README.md

* fix exception

* fix exception

* update demo

* update README.md

* fix typo

* fix ci

* fix ci

* fix formatresult

* add options whether build MMDeployExtern.dll

* update CMakeListst.txt

* change MMDEPLOY_BUILD_CSHARP_EXTERN -> MMDEPLOY_BUILD_SDK_CSHARP_API

* c# api -> C# API

Co-authored-by: chenxin2 <chenxin2@sensetime.com>
2022-05-27 16:02:29 +08:00
Chen Xin 0ce7c83c63
mmrotate sdk module (#450)
* support mmrotate

* fix name

* windows default link to cudart_static.lib, which is not compatible with static build && python_api

* python api

* fix ci

* fix type & remove unused meta info

* fix doxygen, add [out] to @param

* fix mmrotate-c-api

* refactor naming

* refactor naming

* fix lint

* fix lint

* move replace_RResize -> get_preprocess

* Update cuda.cmake

On windows, make static lib and python api build success.

* fix ptr

* Use unique ptr to prevent memory leaks

* move unique_ptr

* remove deleter

Co-authored-by: chenxin2 <chenxin2@sensetime.com>
Co-authored-by: cx <cx@ubuntu20.04>
2022-05-17 23:37:32 +08:00
VVsssssk 21230d5847
【Docs】Add ipython notebook tutorial (#234)
* add ipynb file

* rename file

* add open in colab tag

* fix lint and add img show

* fix open in colab link

* fix comments

* fix pre-commit config
2022-04-27 20:04:56 +08:00
Yue Zhou 9411fe0466
Add nms_rotated ort op (#312)
* fix pose demo and windows build (#307)

* init

* Update nms_rotated.cpp

* add postprocessing_masks gpu version (#276)

* add postprocessing_masks gpu version

* default device cpu

* pre-commit fix

Co-authored-by: hadoop-basecv <hadoop-basecv@set-gh-basecv-serving-classify11.mt>

* fixed a bug causes text-recognizer to fail when (non-NULL) empty bboxes list is passed (#310)

* [Fix] include missing <type_traits> for formatter.h (#313)

* fix formatter

* relax GCC version requirement

* fix

* fix lint

* fix lint

* [Fix] MMEditing cannot save results when testing (#336)

* fix show

* lint

* remove redundant codes

* resolve comment

* type hint

* docs(build): fix typo (#352)

* docs(build): add missing build option

* docs(build): add onnx install

* style(doc): trim whitespace

* docs(build): revert install onnx

* docs(build): add ncnn LD_LIBRARY_PATH

* docs(build): fix path error

* fix openvino export tmp model, add binary flag (#353)

* init circleci (#348)

* fix wrong input mat type (#362)

* fix wrong input mat type

* fix lint

* fix(docs): remove redundant doc tree (#360)

* fix missing ncnn_DIR & InferenceEngine_DIR (#364)

* update doc

Co-authored-by: Chen Xin <xinchen.tju@gmail.com>
Co-authored-by: Shengxi Li <982783556@qq.com>
Co-authored-by: hadoop-basecv <hadoop-basecv@set-gh-basecv-serving-classify11.mt>
Co-authored-by: lzhangzz <lzhang329@gmail.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: tpoisonooo <khj.application@aliyun.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
2022-04-18 17:14:47 +08:00
lzhangzz 85c46eefd6
fixed a bug causes text-recognizer to fail when (non-NULL) empty bboxes list is passed (#310) 2022-04-07 11:11:28 +08:00