Dev v0.4.0 (#301)
* bump version to v0.4.0
* [Enhancement] Make rewriter more powerful (#150)
* Finish function tests
* lint
* resolve comments
* Fix tests
* docstring & fix
* Complement informations
* lint
* Add example
* Fix version
* Remove todo
Co-authored-by: RunningLeon <mnsheng@yeah.net>
* Torchscript support (#159)
* support torchscript
* add nms
* add torchscript configs and update deploy process and dump-info
* typescript -> torchscript
* add torchscript custom extension support
* add ts custom ops again
* support mmseg unet
* [WIP] add optimizer for torchscript (#119)
* add passes
* add python api
* Torchscript optimizer python api (#121)
* add passes
* add python api
* use python api instead of executable
* Merge Master, update optimizer (#151)
* [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
* Added mask overlay to output image, changed fprintf info messages to … (#55)
* Added mask overlay to output image, changed fprintf info messages to stdout
* Improved box filtering (filter area/score), make sure roi coordinates stay within bounds
* clang-format
* Support UNet in mmseg (#77)
* Repeatdataset in train has no CLASSES & PALETTE
* update result for unet
* update docstring for mmdet
* remove ppl for unet in docs
* fix ort wrap about input type (#81)
* Fix memleak (#86)
* delete []
* fix build error when enble MMDEPLOY_ACTIVE_LEVEL
* fix lint
* [Doc] Nano benchmark and tutorial (#71)
* add cls benchmark
* add nano zh-cn benchmark and en tutorial
* add device row
* add doc path to index.rst
* fix typo
* [Fix] fix missing deploy_core (#80)
* fix missing deploy_core
* mv flag to demo
* target link
* [Docs] Fix links in Chinese doc (#84)
* Fix docs in Chinese link
* Fix links
* Delete symbolic link and add links to html
* delete files
* Fix link
* [Feature] Add docker files (#67)
* add gpu and cpu dockerfile
* fix lint
* fix cpu docker and remove redundant
* use pip instead
* add build arg and readme
* fix grammar
* update readme
* add chinese doc for dockerfile and add docker build to build.md
* grammar
* refine dockerfiles
* add FAQs
* update Dpplcv_DIR for SDK building
* remove mmcls
* add sdk demos
* fix typo and lint
* update FAQs
* [Fix]fix check_env (#101)
* fix check_env
* update
* Replace convert_syncbatchnorm in mmseg (#93)
* replace convert_syncbatchnorm with revert_sync_batchnorm from mmcv
* change logger
* [Doc] Update FAQ for TensorRT (#96)
* update FAQ
* comment
* [Docs]: Update doc for openvino installation (#102)
* fix docs
* fix docs
* fix docs
* fix mmcv version
* fix docs
* rm blank line
* simplify non batch nms (#99)
* [Enhacement] Allow test.py to save evaluation results (#108)
* Add log file
* Delete debug code
* Rename logger
* resolve comments
* [Enhancement] Support mmocr v0.4+ (#115)
* support mmocr v0.4+
* 0.4.0 -> 0.4.1
* fix onnxruntime wrapper for gpu inference (#123)
* fix ncnn wrapper for ort-gpu
* resolve comment
* fix lint
* Fix typo (#132)
* lock mmcls version (#131)
* [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
* Fix ci for mmocr (#144)
* fix mmocr unittests
* remove useless
* lock mmdet maximum version to 2.20
* pip install -U numpy
* Fix capture_output (#125)
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
* configs for all tasks
* use torchvision roi align
* remote unnecessary code
* fix ut
* fix ut
* export
* det dynamic
* det dynamic
* add ut
* fix ut
* add ut and docs
* fix ut
* skip torchscript ut if no ops available
* add torchscript option to build.md
* update benchmark and resolve comments
* resolve conflicts
* rename configs
* fix mrcnn cuda test
* remove useless
* add version requirements to docs and comments to codes
* enable empty image exporting for torchscript and accelerate ORT inference for MRCNN
* rebase
* update example for torchscript.md
* update FAQs for torchscript.md
* resolve comments
* only use torchvision roi_align for torchscript
* fix ut
* use torchvision roi align when pool model is avg
* resolve comments
Co-authored-by: grimoire <streetyao@live.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
* Update supported mmseg models (#181)
* fix ocrnet cascade decoder
* update mmseg support models
* update mmseg configs
* support emanet and icnet
* set max K of TopK for tensorrt
* update supported models for mmseg in docs
* add test for emamodule
* add configs and update docs
* Update docs
* update benchmark
* [Features]Support mmdet3d (#103)
* add mmdet3d code
* add code
* update code
* [log]This commit finish pointpillar export and evaluate on onnxruntime.The model is sample with nvidia repo model
* add tensorrt config
* fix config
* update
* support for tensorrt
* add config
* fix config`
* fix apis about torch2onnx
* update
* mmdet3d deploy version1.0
* map is ok
* fix code
* version1.0
* fix code
* fix visual
* fix bug
* tensorrt support success
* add docstring
* add docs
* fix docs
* fix comments
* fix comment
* fix comment
* fix openvino wrapper
* add unit test
* fix device about cpu
* fix comment
* fix show_result
* fix lint
* fix requirments
* remove ci about det3d
* fix ut
* add ut data
* support for new version pointpillars
* fix comment
* fix support_list
* fix comments
* fix config name
* [Enhancement] Update pad logic in detection heads (#168)
* pad with register
* fix lint
Co-authored-by: AllentDan <dongchunyu@sensetime.com>
* [Enhancement] Additional arguments support for OpenVINO Model Optimizer (#178)
* Add mo args.
* [Docs]: update docs and argument descriptions (#196)
* bump version to v0.4.0
* update docs and argument descriptions
* revert version change
* fix unnecessary change of config for dynamic exportation (#199)
* fix mmcls get classes (#215)
* fix mmcls get classes
* resolve comment
* resolve comment
* Add ModelOptimizerOptions.
* Fix merge bugs.
* Update mmpose.md (#224)
* [Dostring]add example in apis docstring (#214)
* add example in apis docstring
* add backend example in docstring
* rm blank line
* Fixed get_mo_options_from_cfg args
* fix l2norm test
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: Haofan Wang <frankmiracle@outlook.com>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
* [Enhancement] Switch to statically typed Value::Any (#209)
* replace std::any with StaticAny
* fix __compare_typeid
* remove fallback id support
* constraint on traits::TypeId<T>::value
* fix includes
* [Enhancement] TensorRT DCN support (#205)
* add tensorrt dcn support
* fix lint
* remove roi_align plugin for ORT (#258)
* remove roi_align plugin
* remove ut
* skip single_roi_extractor UT for ORT in CI
* move align to symbolic and update docs
* recover UT
* resolve comments
* [Enhancement]: Support fcn_unet deployment with dynamic shape (#251)
* support mmseg fcn+unet dynamic shape
* add test
* fix ci
* fix units
* resolve comments
* [Enhancement] fix-cmake-relocatable (#223)
* require user to specify xxx_dir
* fix line ending
* fix end-of-file-fixer
* try to fix ld cudart cublas
* add ENV var search
* fix CMAKE_CUDA_COMPILER
* cpu, cuda should all work well
* remove commented code
* fix ncnn example find ncnn package (#282)
* table format is wrong (#283)
* update pre-commit (#284)
* update pre-commit
* fix clang-format
* fix mmseg config (#281)
* fix mmseg config
* fix mmpose evaluate outputs
* fix lint
* update pre-commit config
* fix lint
* Revert "update pre-commit config"
This reverts commit c3fd71611f0b79dfa9ad73fc0f4555c1b3563665.
* miss code symbol (#296)
* refactor cmake build (#295)
* add-mmpose-sdk (#259)
* Torchscript support (#159)
* support torchscript
* add nms
* add torchscript configs and update deploy process and dump-info
* typescript -> torchscript
* add torchscript custom extension support
* add ts custom ops again
* support mmseg unet
* [WIP] add optimizer for torchscript (#119)
* add passes
* add python api
* Torchscript optimizer python api (#121)
* add passes
* add python api
* use python api instead of executable
* Merge Master, update optimizer (#151)
* [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
* Added mask overlay to output image, changed fprintf info messages to … (#55)
* Added mask overlay to output image, changed fprintf info messages to stdout
* Improved box filtering (filter area/score), make sure roi coordinates stay within bounds
* clang-format
* Support UNet in mmseg (#77)
* Repeatdataset in train has no CLASSES & PALETTE
* update result for unet
* update docstring for mmdet
* remove ppl for unet in docs
* fix ort wrap about input type (#81)
* Fix memleak (#86)
* delete []
* fix build error when enble MMDEPLOY_ACTIVE_LEVEL
* fix lint
* [Doc] Nano benchmark and tutorial (#71)
* add cls benchmark
* add nano zh-cn benchmark and en tutorial
* add device row
* add doc path to index.rst
* fix typo
* [Fix] fix missing deploy_core (#80)
* fix missing deploy_core
* mv flag to demo
* target link
* [Docs] Fix links in Chinese doc (#84)
* Fix docs in Chinese link
* Fix links
* Delete symbolic link and add links to html
* delete files
* Fix link
* [Feature] Add docker files (#67)
* add gpu and cpu dockerfile
* fix lint
* fix cpu docker and remove redundant
* use pip instead
* add build arg and readme
* fix grammar
* update readme
* add chinese doc for dockerfile and add docker build to build.md
* grammar
* refine dockerfiles
* add FAQs
* update Dpplcv_DIR for SDK building
* remove mmcls
* add sdk demos
* fix typo and lint
* update FAQs
* [Fix]fix check_env (#101)
* fix check_env
* update
* Replace convert_syncbatchnorm in mmseg (#93)
* replace convert_syncbatchnorm with revert_sync_batchnorm from mmcv
* change logger
* [Doc] Update FAQ for TensorRT (#96)
* update FAQ
* comment
* [Docs]: Update doc for openvino installation (#102)
* fix docs
* fix docs
* fix docs
* fix mmcv version
* fix docs
* rm blank line
* simplify non batch nms (#99)
* [Enhacement] Allow test.py to save evaluation results (#108)
* Add log file
* Delete debug code
* Rename logger
* resolve comments
* [Enhancement] Support mmocr v0.4+ (#115)
* support mmocr v0.4+
* 0.4.0 -> 0.4.1
* fix onnxruntime wrapper for gpu inference (#123)
* fix ncnn wrapper for ort-gpu
* resolve comment
* fix lint
* Fix typo (#132)
* lock mmcls version (#131)
* [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
* Fix ci for mmocr (#144)
* fix mmocr unittests
* remove useless
* lock mmdet maximum version to 2.20
* pip install -U numpy
* Fix capture_output (#125)
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
* configs for all tasks
* use torchvision roi align
* remote unnecessary code
* fix ut
* fix ut
* export
* det dynamic
* det dynamic
* add ut
* fix ut
* add ut and docs
* fix ut
* skip torchscript ut if no ops available
* add torchscript option to build.md
* update benchmark and resolve comments
* resolve conflicts
* rename configs
* fix mrcnn cuda test
* remove useless
* add version requirements to docs and comments to codes
* enable empty image exporting for torchscript and accelerate ORT inference for MRCNN
* rebase
* update example for torchscript.md
* update FAQs for torchscript.md
* resolve comments
* only use torchvision roi_align for torchscript
* fix ut
* use torchvision roi align when pool model is avg
* resolve comments
Co-authored-by: grimoire <streetyao@live.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
* Update supported mmseg models (#181)
* fix ocrnet cascade decoder
* update mmseg support models
* update mmseg configs
* support emanet and icnet
* set max K of TopK for tensorrt
* update supported models for mmseg in docs
* add test for emamodule
* add configs and update docs
* Update docs
* update benchmark
* [Features]Support mmdet3d (#103)
* add mmdet3d code
* add code
* update code
* [log]This commit finish pointpillar export and evaluate on onnxruntime.The model is sample with nvidia repo model
* add tensorrt config
* fix config
* update
* support for tensorrt
* add config
* fix config`
* fix apis about torch2onnx
* update
* mmdet3d deploy version1.0
* map is ok
* fix code
* version1.0
* fix code
* fix visual
* fix bug
* tensorrt support success
* add docstring
* add docs
* fix docs
* fix comments
* fix comment
* fix comment
* fix openvino wrapper
* add unit test
* fix device about cpu
* fix comment
* fix show_result
* fix lint
* fix requirments
* remove ci about det3d
* fix ut
* add ut data
* support for new version pointpillars
* fix comment
* fix support_list
* fix comments
* fix config name
* [Enhancement] Additional arguments support for OpenVINO Model Optimizer (#178)
* Add mo args.
* [Docs]: update docs and argument descriptions (#196)
* bump version to v0.4.0
* update docs and argument descriptions
* revert version change
* fix unnecessary change of config for dynamic exportation (#199)
* fix mmcls get classes (#215)
* fix mmcls get classes
* resolve comment
* resolve comment
* Add ModelOptimizerOptions.
* Fix merge bugs.
* Update mmpose.md (#224)
* [Dostring]add example in apis docstring (#214)
* add example in apis docstring
* add backend example in docstring
* rm blank line
* Fixed get_mo_options_from_cfg args
* fix l2norm test
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: Haofan Wang <frankmiracle@outlook.com>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
* add-mmpose-codebase
* fix ci
* fix img_shape after TopDownAffine
* rename TopDown module -> XheadDecode & implement regression decode
* align keypoints_from_heatmap
* remove hardcode keypoint_head, need refactor, current only support topdown config
* add mmpose python api
* update mmpose-python code
* can't clip fake box
* fix rebase error
* fix rebase error
* link mspn decoder to base decoder
* fix ci
* compile with gcc7.5
* remove no use code
* fix
* fix prompt
* remove unnecessary cv::parallel_for_
* rewrite TopdownHeatmapMultiStageHead.inference_model
* add comment
* add more detail docstring why use _cs2xyxy in sdk backend
* fix Registry name
* remove no use param & add comment of output result
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: grimoire <streetyao@live.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
Co-authored-by: Haofan Wang <frankmiracle@outlook.com>
* update faq about WinError 1455 (#297)
* update faq about WinError 1455
* Update faq.md
* Update faq.md
* fix ci
Co-authored-by: chenxin2 <chenxin2@sensetime.com>
* [Feature]Support centerpoint (#252)
* bump version to v0.4.0
* [Enhancement] Make rewriter more powerful (#150)
* Finish function tests
* lint
* resolve comments
* Fix tests
* docstring & fix
* Complement informations
* lint
* Add example
* Fix version
* Remove todo
Co-authored-by: RunningLeon <mnsheng@yeah.net>
* Torchscript support (#159)
* support torchscript
* add nms
* add torchscript configs and update deploy process and dump-info
* typescript -> torchscript
* add torchscript custom extension support
* add ts custom ops again
* support mmseg unet
* [WIP] add optimizer for torchscript (#119)
* add passes
* add python api
* Torchscript optimizer python api (#121)
* add passes
* add python api
* use python api instead of executable
* Merge Master, update optimizer (#151)
* [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
* Added mask overlay to output image, changed fprintf info messages to … (#55)
* Added mask overlay to output image, changed fprintf info messages to stdout
* Improved box filtering (filter area/score), make sure roi coordinates stay within bounds
* clang-format
* Support UNet in mmseg (#77)
* Repeatdataset in train has no CLASSES & PALETTE
* update result for unet
* update docstring for mmdet
* remove ppl for unet in docs
* fix ort wrap about input type (#81)
* Fix memleak (#86)
* delete []
* fix build error when enble MMDEPLOY_ACTIVE_LEVEL
* fix lint
* [Doc] Nano benchmark and tutorial (#71)
* add cls benchmark
* add nano zh-cn benchmark and en tutorial
* add device row
* add doc path to index.rst
* fix typo
* [Fix] fix missing deploy_core (#80)
* fix missing deploy_core
* mv flag to demo
* target link
* [Docs] Fix links in Chinese doc (#84)
* Fix docs in Chinese link
* Fix links
* Delete symbolic link and add links to html
* delete files
* Fix link
* [Feature] Add docker files (#67)
* add gpu and cpu dockerfile
* fix lint
* fix cpu docker and remove redundant
* use pip instead
* add build arg and readme
* fix grammar
* update readme
* add chinese doc for dockerfile and add docker build to build.md
* grammar
* refine dockerfiles
* add FAQs
* update Dpplcv_DIR for SDK building
* remove mmcls
* add sdk demos
* fix typo and lint
* update FAQs
* [Fix]fix check_env (#101)
* fix check_env
* update
* Replace convert_syncbatchnorm in mmseg (#93)
* replace convert_syncbatchnorm with revert_sync_batchnorm from mmcv
* change logger
* [Doc] Update FAQ for TensorRT (#96)
* update FAQ
* comment
* [Docs]: Update doc for openvino installation (#102)
* fix docs
* fix docs
* fix docs
* fix mmcv version
* fix docs
* rm blank line
* simplify non batch nms (#99)
* [Enhacement] Allow test.py to save evaluation results (#108)
* Add log file
* Delete debug code
* Rename logger
* resolve comments
* [Enhancement] Support mmocr v0.4+ (#115)
* support mmocr v0.4+
* 0.4.0 -> 0.4.1
* fix onnxruntime wrapper for gpu inference (#123)
* fix ncnn wrapper for ort-gpu
* resolve comment
* fix lint
* Fix typo (#132)
* lock mmcls version (#131)
* [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
* Fix ci for mmocr (#144)
* fix mmocr unittests
* remove useless
* lock mmdet maximum version to 2.20
* pip install -U numpy
* Fix capture_output (#125)
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
* configs for all tasks
* use torchvision roi align
* remote unnecessary code
* fix ut
* fix ut
* export
* det dynamic
* det dynamic
* add ut
* fix ut
* add ut and docs
* fix ut
* skip torchscript ut if no ops available
* add torchscript option to build.md
* update benchmark and resolve comments
* resolve conflicts
* rename configs
* fix mrcnn cuda test
* remove useless
* add version requirements to docs and comments to codes
* enable empty image exporting for torchscript and accelerate ORT inference for MRCNN
* rebase
* update example for torchscript.md
* update FAQs for torchscript.md
* resolve comments
* only use torchvision roi_align for torchscript
* fix ut
* use torchvision roi align when pool model is avg
* resolve comments
Co-authored-by: grimoire <streetyao@live.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
* Update supported mmseg models (#181)
* fix ocrnet cascade decoder
* update mmseg support models
* update mmseg configs
* support emanet and icnet
* set max K of TopK for tensorrt
* update supported models for mmseg in docs
* add test for emamodule
* add configs and update docs
* Update docs
* update benchmark
* [Features]Support mmdet3d (#103)
* add mmdet3d code
* add code
* update code
* [log]This commit finish pointpillar export and evaluate on onnxruntime.The model is sample with nvidia repo model
* add tensorrt config
* fix config
* update
* support for tensorrt
* add config
* fix config`
* fix apis about torch2onnx
* update
* mmdet3d deploy version1.0
* map is ok
* fix code
* version1.0
* fix code
* fix visual
* fix bug
* tensorrt support success
* add docstring
* add docs
* fix docs
* fix comments
* fix comment
* fix comment
* fix openvino wrapper
* add unit test
* fix device about cpu
* fix comment
* fix show_result
* fix lint
* fix requirments
* remove ci about det3d
* fix ut
* add ut data
* support for new version pointpillars
* fix comment
* fix support_list
* fix comments
* fix config name
* [Enhancement] Update pad logic in detection heads (#168)
* pad with register
* fix lint
Co-authored-by: AllentDan <dongchunyu@sensetime.com>
* [Enhancement] Additional arguments support for OpenVINO Model Optimizer (#178)
* Add mo args.
* [Docs]: update docs and argument descriptions (#196)
* bump version to v0.4.0
* update docs and argument descriptions
* revert version change
* fix unnecessary change of config for dynamic exportation (#199)
* fix mmcls get classes (#215)
* fix mmcls get classes
* resolve comment
* resolve comment
* Add ModelOptimizerOptions.
* Fix merge bugs.
* Update mmpose.md (#224)
* [Dostring]add example in apis docstring (#214)
* add example in apis docstring
* add backend example in docstring
* rm blank line
* Fixed get_mo_options_from_cfg args
* fix l2norm test
Co-authored-by: RunningLeon <mnsheng@yeah.net>
Co-authored-by: Haofan Wang <frankmiracle@outlook.com>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
* [Enhancement] Switch to statically typed Value::Any (#209)
* replace std::any with StaticAny
* fix __compare_typeid
* remove fallback id support
* constraint on traits::TypeId<T>::value
* fix includes
* support for centerpoint
* [Enhancement] TensorRT DCN support (#205)
* add tensorrt dcn support
* fix lint
* add docstring and dcn model support
* add centerpoint ut and docs
* add config and fix input rank
* fix merge error
* fix a bug
* fix comment
* [Doc] update benchmark add supported-model-list (#286)
* update benchmark add supported-model-list
* fix lint
* fix lint
* loc mmocr maximum version
* fix ut
Co-authored-by: maningsheng <mnsheng@yeah.net>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: grimoire <streetyao@live.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: lvhan028 <lvhan_028@163.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
Co-authored-by: AllentDan <dongchunyu@sensetime.com>
Co-authored-by: Haofan Wang <frankmiracle@outlook.com>
Co-authored-by: lzhangzz <lzhang329@gmail.com>
Co-authored-by: maningsheng <mnsheng@yeah.net>
Co-authored-by: Yifan Zhou <singlezombie@163.com>
Co-authored-by: AllentDan <41138331+AllentDan@users.noreply.github.com>
Co-authored-by: grimoire <streetyao@live.com>
Co-authored-by: grimoire <yaoqian@sensetime.com>
Co-authored-by: hanrui1sensetime <83800577+hanrui1sensetime@users.noreply.github.com>
Co-authored-by: Johannes L <tehkillerbee@users.noreply.github.com>
Co-authored-by: VVsssssk <88368822+VVsssssk@users.noreply.github.com>
Co-authored-by: 杨培文 (Yang Peiwen) <915505626@qq.com>
Co-authored-by: Semyon Bevzyuk <semen.bevzuk@gmail.com>
Co-authored-by: AllentDan <dongchunyu@sensetime.com>
Co-authored-by: Haofan Wang <frankmiracle@outlook.com>
Co-authored-by: lzhangzz <lzhang329@gmail.com>
Co-authored-by: Chen Xin <xinchen.tju@gmail.com>
Co-authored-by: chenxin2 <chenxin2@sensetime.com>
2022-04-01 18:14:23 +08:00
|
|
|
# Copyright (c) OpenMMLab. All rights reserved.
|
|
|
|
voxel_size = [0.16, 0.16, 4]
|
|
|
|
|
|
|
|
model = dict(
|
|
|
|
type='VoxelNet',
|
|
|
|
voxel_layer=dict(
|
|
|
|
max_num_points=32, # max_points_per_voxel
|
|
|
|
point_cloud_range=[0, -39.68, -3, 69.12, 39.68, 1],
|
|
|
|
voxel_size=voxel_size,
|
|
|
|
max_voxels=(16000, 40000) # (training, testing) max_voxels
|
|
|
|
),
|
|
|
|
voxel_encoder=dict(
|
|
|
|
type='PillarFeatureNet',
|
|
|
|
in_channels=4,
|
|
|
|
feat_channels=[64],
|
|
|
|
with_distance=False,
|
|
|
|
voxel_size=voxel_size,
|
|
|
|
point_cloud_range=[0, -39.68, -3, 69.12, 39.68, 1]),
|
|
|
|
middle_encoder=dict(
|
|
|
|
type='PointPillarsScatter', in_channels=64, output_shape=[496, 432]),
|
|
|
|
backbone=dict(
|
|
|
|
type='SECOND',
|
|
|
|
in_channels=64,
|
|
|
|
layer_nums=[3, 5, 5],
|
|
|
|
layer_strides=[2, 2, 2],
|
|
|
|
out_channels=[64, 128, 256]),
|
|
|
|
neck=dict(
|
|
|
|
type='SECONDFPN',
|
|
|
|
in_channels=[64, 128, 256],
|
|
|
|
upsample_strides=[1, 2, 4],
|
|
|
|
out_channels=[128, 128, 128]),
|
|
|
|
test_cfg=dict(
|
|
|
|
use_rotate_nms=True,
|
|
|
|
nms_across_levels=False,
|
|
|
|
nms_thr=0.01,
|
|
|
|
score_thr=0.1,
|
|
|
|
min_bbox_size=0,
|
|
|
|
nms_pre=100,
|
|
|
|
max_num=50),
|
|
|
|
bbox_head=dict(
|
|
|
|
type='Anchor3DHead',
|
|
|
|
num_classes=3,
|
|
|
|
in_channels=384,
|
|
|
|
feat_channels=384,
|
|
|
|
use_direction_classifier=True,
|
|
|
|
anchor_generator=dict(
|
|
|
|
type='AlignedAnchor3DRangeGenerator',
|
|
|
|
ranges=[
|
|
|
|
[0, -39.68, -0.6, 69.12, 39.68, -0.6],
|
|
|
|
[0, -39.68, -0.6, 69.12, 39.68, -0.6],
|
|
|
|
[0, -39.68, -1.78, 69.12, 39.68, -1.78],
|
|
|
|
],
|
|
|
|
sizes=[[0.6, 0.8, 1.73], [0.6, 1.76, 1.73], [1.6, 3.9, 1.56]],
|
|
|
|
rotations=[0, 1.57],
|
|
|
|
reshape_out=False),
|
|
|
|
diff_rad_by_sin=True,
|
|
|
|
bbox_coder=dict(type='DeltaXYZWLHRBBoxCoder'),
|
|
|
|
loss_cls=dict(
|
|
|
|
type='FocalLoss',
|
|
|
|
use_sigmoid=True,
|
|
|
|
gamma=2.0,
|
|
|
|
alpha=0.25,
|
|
|
|
loss_weight=1.0),
|
|
|
|
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=2.0),
|
|
|
|
loss_dir=dict(
|
|
|
|
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.2)))
|
|
|
|
point_cloud_range = [0, -39.68, -3, 69.12, 39.68, 1]
|
|
|
|
# dataset settings
|
|
|
|
data_root = 'tests/test_codebase/test_mmdet3d/data/kitti/'
|
|
|
|
dataset_type = 'KittiDataset'
|
|
|
|
class_names = ['Pedestrian', 'Cyclist', 'Car']
|
|
|
|
input_modality = dict(use_lidar=True, use_camera=False)
|
|
|
|
# PointPillars adopted a different sampling strategies among classes
|
|
|
|
db_sampler = dict(
|
|
|
|
data_root=data_root,
|
|
|
|
info_path=data_root + 'kitti_dbinfos_train.pkl',
|
|
|
|
rate=1.0,
|
|
|
|
prepare=dict(
|
|
|
|
filter_by_difficulty=[-1],
|
|
|
|
filter_by_min_points=dict(Car=5, Pedestrian=10, Cyclist=10)),
|
|
|
|
classes=class_names,
|
|
|
|
sample_groups=dict(Car=15, Pedestrian=10, Cyclist=10))
|
|
|
|
train_pipeline = [
|
|
|
|
dict(type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4),
|
|
|
|
dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),
|
|
|
|
dict(type='ObjectSample', db_sampler=db_sampler),
|
|
|
|
dict(
|
|
|
|
type='ObjectNoise',
|
|
|
|
num_try=100,
|
|
|
|
translation_std=[0.25, 0.25, 0.25],
|
|
|
|
global_rot_range=[0.0, 0.0],
|
|
|
|
rot_range=[-0.15707963267, 0.15707963267]),
|
|
|
|
dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5),
|
|
|
|
dict(
|
|
|
|
type='GlobalRotScaleTrans',
|
|
|
|
rot_range=[-0.78539816, 0.78539816],
|
|
|
|
scale_ratio_range=[0.95, 1.05]),
|
|
|
|
dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),
|
|
|
|
dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),
|
|
|
|
dict(type='PointShuffle'),
|
|
|
|
dict(type='DefaultFormatBundle3D', class_names=class_names),
|
|
|
|
dict(type='Collect3D', keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
|
|
|
|
]
|
|
|
|
test_pipeline = [
|
|
|
|
dict(type='LoadPointsFromFile', coord_type='LIDAR', load_dim=4, use_dim=4),
|
|
|
|
dict(
|
|
|
|
type='MultiScaleFlipAug3D',
|
|
|
|
img_scale=(1333, 800),
|
|
|
|
pts_scale_ratio=1,
|
|
|
|
flip=False,
|
|
|
|
transforms=[
|
|
|
|
dict(
|
|
|
|
type='GlobalRotScaleTrans',
|
|
|
|
rot_range=[0, 0],
|
|
|
|
scale_ratio_range=[1., 1.],
|
|
|
|
translation_std=[0, 0, 0]),
|
|
|
|
dict(type='RandomFlip3D'),
|
|
|
|
dict(
|
|
|
|
type='PointsRangeFilter', point_cloud_range=point_cloud_range),
|
|
|
|
dict(
|
|
|
|
type='DefaultFormatBundle3D',
|
|
|
|
class_names=class_names,
|
|
|
|
with_label=False),
|
|
|
|
dict(type='Collect3D', keys=['points'])
|
|
|
|
])
|
|
|
|
]
|
|
|
|
data = dict(
|
|
|
|
train=dict(
|
|
|
|
dataset=dict(
|
|
|
|
pipeline=train_pipeline, classes=class_names,
|
|
|
|
box_type_3d='LiDAR')),
|
|
|
|
val=dict(pipeline=test_pipeline, classes=class_names, box_type_3d='LiDAR'),
|
|
|
|
test=dict(
|
|
|
|
type=dataset_type,
|
|
|
|
data_root=data_root,
|
|
|
|
ann_file=data_root + 'kitti_infos_val.pkl',
|
|
|
|
split='training',
|
|
|
|
pts_prefix='velodyne_reduced',
|
|
|
|
pipeline=test_pipeline,
|
|
|
|
modality=input_modality,
|
|
|
|
classes=class_names,
|
|
|
|
test_mode=True,
|
|
|
|
box_type_3d='LiDAR'))
|
|
|
|
|
|
|
|
point_cloud_range = [-51.2, -51.2, -5.0, 51.2, 51.2, 3.0]
|
|
|
|
centerpoint_model = dict(
|
|
|
|
pts_voxel_layer=dict(
|
|
|
|
max_num_points=20,
|
|
|
|
voxel_size=voxel_size,
|
|
|
|
max_voxels=(30000, 40000),
|
|
|
|
point_cloud_range=point_cloud_range),
|
|
|
|
pts_voxel_encoder=dict(
|
|
|
|
type='PillarFeatureNet',
|
|
|
|
in_channels=4,
|
|
|
|
feat_channels=[64],
|
|
|
|
with_distance=False,
|
|
|
|
voxel_size=(0.2, 0.2, 8),
|
|
|
|
norm_cfg=dict(type='BN1d', eps=1e-3, momentum=0.01),
|
|
|
|
legacy=False),
|
|
|
|
pts_middle_encoder=dict(
|
|
|
|
type='PointPillarsScatter', in_channels=64, output_shape=(512, 512)),
|
|
|
|
pts_backbone=dict(
|
|
|
|
type='SECOND',
|
|
|
|
in_channels=64,
|
|
|
|
out_channels=[64, 128, 256],
|
|
|
|
layer_nums=[3, 5, 5],
|
|
|
|
layer_strides=[2, 2, 2],
|
|
|
|
norm_cfg=dict(type='BN', eps=1e-3, momentum=0.01),
|
|
|
|
conv_cfg=dict(type='Conv2d', bias=False)),
|
|
|
|
pts_neck=dict(
|
|
|
|
type='SECONDFPN',
|
|
|
|
in_channels=[64, 128, 256],
|
|
|
|
out_channels=[128, 128, 128],
|
|
|
|
upsample_strides=[0.5, 1, 2],
|
|
|
|
norm_cfg=dict(type='BN', eps=1e-3, momentum=0.01),
|
|
|
|
upsample_cfg=dict(type='deconv', bias=False),
|
|
|
|
use_conv_for_no_stride=True),
|
|
|
|
pts_bbox_head=dict(
|
|
|
|
type='CenterHead',
|
|
|
|
in_channels=sum([128, 128, 128]),
|
|
|
|
tasks=[
|
|
|
|
dict(num_class=1, class_names=['car']),
|
|
|
|
dict(num_class=2, class_names=['truck', 'construction_vehicle']),
|
|
|
|
dict(num_class=2, class_names=['bus', 'trailer']),
|
|
|
|
dict(num_class=1, class_names=['barrier']),
|
|
|
|
dict(num_class=2, class_names=['motorcycle', 'bicycle']),
|
|
|
|
dict(num_class=2, class_names=['pedestrian', 'traffic_cone']),
|
|
|
|
],
|
|
|
|
common_heads=dict(
|
|
|
|
reg=(2, 2), height=(1, 2), dim=(3, 2), rot=(2, 2), vel=(2, 2)),
|
|
|
|
share_conv_channel=64,
|
|
|
|
bbox_coder=dict(
|
|
|
|
type='CenterPointBBoxCoder',
|
|
|
|
post_center_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0],
|
|
|
|
pc_range=point_cloud_range[:2],
|
|
|
|
max_num=500,
|
|
|
|
score_threshold=0.1,
|
|
|
|
out_size_factor=4,
|
|
|
|
voxel_size=voxel_size[:2],
|
|
|
|
code_size=9),
|
|
|
|
separate_head=dict(
|
|
|
|
type='SeparateHead', init_bias=-2.19, final_kernel=3),
|
|
|
|
loss_cls=dict(type='GaussianFocalLoss', reduction='mean'),
|
|
|
|
loss_bbox=dict(type='L1Loss', reduction='mean', loss_weight=0.25),
|
|
|
|
norm_bbox=True),
|
|
|
|
# model training and testing settings
|
|
|
|
train_cfg=dict(
|
|
|
|
pts=dict(
|
|
|
|
grid_size=[512, 512, 1],
|
|
|
|
voxel_size=voxel_size,
|
|
|
|
out_size_factor=4,
|
|
|
|
dense_reg=1,
|
|
|
|
gaussian_overlap=0.1,
|
|
|
|
max_objs=500,
|
|
|
|
min_radius=2,
|
|
|
|
code_weights=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.2, 0.2])),
|
|
|
|
test_cfg=dict(
|
|
|
|
pts=dict(
|
|
|
|
post_center_limit_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0],
|
|
|
|
max_per_img=500,
|
|
|
|
max_pool_nms=False,
|
|
|
|
min_radius=[4, 12, 10, 1, 0.85, 0.175],
|
|
|
|
pc_range=point_cloud_range[:2],
|
|
|
|
score_threshold=0.1,
|
|
|
|
out_size_factor=4,
|
|
|
|
voxel_size=voxel_size[:2],
|
|
|
|
nms_type='circle',
|
|
|
|
pre_max_size=1000,
|
|
|
|
post_max_size=83,
|
|
|
|
nms_thr=0.2)))
|
2022-08-05 16:37:20 +08:00
|
|
|
voxel_size = [0.25, 0.25, 8]
|
|
|
|
pointpillars_nus_model = dict(
|
|
|
|
pts_voxel_layer=dict(
|
|
|
|
max_num_points=64,
|
|
|
|
point_cloud_range=[-50, -50, -5, 50, 50, 3],
|
|
|
|
voxel_size=voxel_size,
|
|
|
|
max_voxels=(30000, 40000)),
|
|
|
|
pts_voxel_encoder=dict(
|
|
|
|
type='HardVFE',
|
|
|
|
in_channels=4,
|
|
|
|
feat_channels=[64, 64],
|
|
|
|
with_distance=False,
|
|
|
|
voxel_size=voxel_size,
|
|
|
|
with_cluster_center=True,
|
|
|
|
with_voxel_center=True,
|
|
|
|
point_cloud_range=[-50, -50, -5, 50, 50, 3],
|
|
|
|
norm_cfg=dict(type='naiveSyncBN1d', eps=1e-3, momentum=0.01)),
|
|
|
|
pts_middle_encoder=dict(
|
|
|
|
type='PointPillarsScatter', in_channels=64, output_shape=[400, 400]),
|
|
|
|
pts_backbone=dict(
|
|
|
|
type='SECOND',
|
|
|
|
in_channels=64,
|
|
|
|
norm_cfg=dict(type='naiveSyncBN2d', eps=1e-3, momentum=0.01),
|
|
|
|
layer_nums=[3, 5, 5],
|
|
|
|
layer_strides=[2, 2, 2],
|
|
|
|
out_channels=[64, 128, 256]),
|
|
|
|
pts_neck=dict(
|
|
|
|
type='FPN',
|
|
|
|
norm_cfg=dict(type='naiveSyncBN2d', eps=1e-3, momentum=0.01),
|
|
|
|
act_cfg=dict(type='ReLU'),
|
|
|
|
in_channels=[64, 128, 256],
|
|
|
|
out_channels=256,
|
|
|
|
start_level=0,
|
|
|
|
num_outs=3),
|
|
|
|
pts_bbox_head=dict(
|
|
|
|
type='Anchor3DHead',
|
|
|
|
num_classes=10,
|
|
|
|
in_channels=256,
|
|
|
|
feat_channels=256,
|
|
|
|
use_direction_classifier=True,
|
|
|
|
anchor_generator=dict(
|
|
|
|
type='AlignedAnchor3DRangeGenerator',
|
|
|
|
ranges=[[-50, -50, -1.8, 50, 50, -1.8]],
|
|
|
|
scales=[1, 2, 4],
|
|
|
|
sizes=[
|
|
|
|
[2.5981, 0.8660, 1.], # 1.5 / sqrt(3)
|
|
|
|
[1.7321, 0.5774, 1.], # 1 / sqrt(3)
|
|
|
|
[1., 1., 1.],
|
|
|
|
[0.4, 0.4, 1],
|
|
|
|
],
|
|
|
|
custom_values=[0, 0],
|
|
|
|
rotations=[0, 1.57],
|
|
|
|
reshape_out=True),
|
|
|
|
assigner_per_size=False,
|
|
|
|
diff_rad_by_sin=True,
|
|
|
|
dir_offset=-0.7854, # -pi / 4
|
|
|
|
bbox_coder=dict(type='DeltaXYZWLHRBBoxCoder', code_size=9),
|
|
|
|
loss_cls=dict(
|
|
|
|
type='FocalLoss',
|
|
|
|
use_sigmoid=True,
|
|
|
|
gamma=2.0,
|
|
|
|
alpha=0.25,
|
|
|
|
loss_weight=1.0),
|
|
|
|
loss_bbox=dict(type='SmoothL1Loss', beta=1.0 / 9.0, loss_weight=1.0),
|
|
|
|
loss_dir=dict(
|
|
|
|
type='CrossEntropyLoss', use_sigmoid=False, loss_weight=0.2)),
|
|
|
|
# model training and testing settings
|
|
|
|
train_cfg=dict(
|
|
|
|
pts=dict(
|
|
|
|
assigner=dict(
|
|
|
|
type='MaxIoUAssigner',
|
|
|
|
iou_calculator=dict(type='BboxOverlapsNearest3D'),
|
|
|
|
pos_iou_thr=0.6,
|
|
|
|
neg_iou_thr=0.3,
|
|
|
|
min_pos_iou=0.3,
|
|
|
|
ignore_iof_thr=-1),
|
|
|
|
allowed_border=0,
|
|
|
|
code_weight=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.2, 0.2],
|
|
|
|
pos_weight=-1,
|
|
|
|
debug=False)),
|
|
|
|
test_cfg=dict(
|
|
|
|
pts=dict(
|
|
|
|
use_rotate_nms=True,
|
|
|
|
nms_across_levels=False,
|
|
|
|
nms_pre=1000,
|
|
|
|
nms_thr=0.2,
|
|
|
|
score_thr=0.05,
|
|
|
|
min_bbox_size=0,
|
|
|
|
max_num=500)))
|