* add rotated_feature_align cpu implementation
* add rotated_feature_align onnxruntime implementation
* Update code for advices from grimoire
Remove useless comment from mmcv/ops/csrc/pytorch/cpu/rotated_feature_align.cpp
Replace ambiguous function name atomicAdd in mmcv/ops/csrc/pytorch/cpu/rotated_feature_align.cpp
Simplify unit test with parameter in tests/test_ops/test_rotated_feature_align.py
Use fma in interpolate in mmcv/ops/csrc/onnxruntime/cpu/rotated_feature_align.cpp mmcv/ops/csrc/pytorch/cpu/rotated_feature_align.cpp
* Inline the function to reduce the overhead of the function call
Use fma in interpolate
* add modulated_deform_conv in onnxruntime support
* Add docs descriptions
* Add gpu test in test_onnx.py
* code format
* remove new usage and move if outside for loop
* use memset when bias is nullptr
* add torch.roll to onnx
* remove skip test
* add support to torch<170
* add dim=0 for torch==1.9.0
* update fixture function name, add comment in roll symbolic
* Add score_threshold and max_num to NMS
* Fix codestyle
* Fix codestyle
* Fix inds in nms
* Update nms docstring
* Move score_threshold and max_num arguments
* Fix args order in docstring
* fix lint of c++ file
* Remove torch.onnx.is_in_onnx_export() and add max_num to batched_nms for separate classes.
* Rewrote max_num handling in NMSop.symbolic
* Added processing max_output_boxes_per_class when exporting to TensorRT
* Added score_threshold and max_num for NMS in test_onnx.py and test_tensorrt.py
* Remove _is_value(max_num)
* fix ci errors with torch==1.3.1
* Update test_batched_nms in test_nms.py
* Added tests for preprocess_onnx
* Moved 'test_tensorrt_preprocess.py' and 'preprocess', updated 'remove_tmp_file'.
* Update mmcv/tensorrt/__init__.py
* Fix segfault torch==1.3.1 (remove onnx.checker.check_model)
* Returned 'onnx.checker.check_model' with torch version check
* Changed torch version from 1.3.1 to 1.4.0
* update version check
* remove check for onnx
Co-authored-by: maningsheng <maningsheng@sensetime.com>
* support custom op `mmcv::cummax` for onnxruntime in mmcv
* fix clang-format lint error
* support mmcv::cummin, reformat codes
* fix merge from master
* add docs for mmcv::cummax and mmcv::cummin
* format doc
* add assertion for torch version, when exporting `cummax` to onnx
* add more comments for torch version
* handle exporting to onnx in `soft_nms`
* commit for test_onnx
* remove `is_in_onnx_export` in softnms
* add more comments
* fix c++ lint error
* add known issues doc for `cummax`
* fix known issues doc
* supports for onnxruntime custom op `mmcv::MMCVTopPool`
* supports for onnxruntime custom op `mmcv::MMCVCornerPool`, involving TopPool, BottomPool, LeftPool and RightPool
* add unittest for corner_pool
* supports mmcv::CornerPool without memcpy
* add docs for mmcv::CornerPool
* re-add docs for mmcv::CornerPool
* fix output dtype doc
* reformat
* format with pre-commit
* format
* fix lint error, by using google clang-format style for c/c++
* add roi_align_rotated
* code format
* Add align key to roi align rotated
* Add clockwise for rotated roi align
* fix bugs in onnx export
* Add docstring for RoIAlignRotated
* remove cuda unittest
* Reformat c++ code
* add onnx roi align rotated file
* fix unittest
* Add cpu and float64 of cuda support for parrots
* code format
* Add unified header to roi align rotated
Co-authored-by: luopeichao <luopeichao@sensetime.com>
* delete all parrots file
add bbox_overlaps new parrots op impl
* support first new impl parrts op (bbox_overlaps)(success test)
* add box_iou_rotated op, test succeed
* add carafe and carafe_naive op, test succeed (one parrots bug need fix)
* add cc_attention op, test success
* add corner_pool op, test success
* add parrots op deform_conv, test success
* add deform_roi_pool op, test success (but has question)
* add focal loss op, test success (gradcheck)
* add masked_conv2d op, test success
* add modulated_deform_conv op, test success
* add nms and nms_rotated op, test success
* add psamask op, test success
* add roi_align op, test_success
* add roi_pool op, test success
* add sync_bn op, test success
* add tin_shift op, test success
* fix test_deform_roi_pool, add parrots test
* skip test_onnx because parrots does not support onnx
* fix c++ lint
* fix python lint
* fix python lint
* start trt plugin prototype
* Add test module, modify roialign convertor
* finish roi_align trt plugin
* fix conflict of RoiAlign and MMCVRoiAlign
* fix for lint
* fix test tensorrt module
* test_tensorrt move import to test func
* add except error type
* add tensorrt to setup.cfg
* code format with yapf
* fix for clang-format
* move tensorrt_utils to mmcv/tensorrt, add comments, better test module
* fix line endings, docformatter
* isort init, remove trailing whitespace
* add except type
* fix setup.py
* put import extension inside trt setup
* change c++ guard, update pytest script, better setup, etc
* sort import with isort
* sort import with isort
* move init of plugin lib to init_plugins.py
* resolve format and add test dependency: tensorrt
* tensorrt should be installed from source not from pypi
* update naming style and input check
* resolve lint error
Co-authored-by: maningsheng <maningsheng@sensetime.com>
* [Enhance]: add onxx simplify
* add simple doc
* add unit test
* update docstring
* resolve some comment
* add test dependency:onnxoptimizer
* Fix onnxruntime register empty libpath
* test onnxruntime version
* set checker to false
* skip test_simplify for torch<1.5.0
* add onnx support to roi_align and roi_pool
* add softnms ort support
* fix for lint
* format cpp code with clang-format:google
* add new empty line to the end of head files in onnxruntime
* update to pytorch1.7
* add test of softnms to onnxruntime
* fix for lint
* remote print in ops/info.py
* change import order, fix for flake8
* fix include
* add assert torch>=1.7.0
* [doc]: add document for onnxruntime custom operator
* update onnxruntime version to v1.5.1 for softnms
* remove doc menu
* Resolve lint for markdown
* resolve naming style in onnxruntime_op.md
* Use old cpp apis, optimize test_onnx.py
* Fixing strings in tests/test_ops/test_onnx.py
* code format with yapf
* fix soft_nms parrot
* add import in onnxruntime setup, avoid conflict
* fix doc and add assert
* change cpp guard
Co-authored-by: maningsheng <maningsheng@sensetime.com>
* add unittest for onnx convert
* build onnx and onnxruntime in CI
* skip onnx op unit test while using CUDA
* fix offset==0 case in NMS
* remove tmp file used in test
* delete tmp file before assert so that we can remove the tmp file anyway