Commit Graph

514 Commits (3ba02dfd35c326306346bd9d35a887efc2b30fb0)

Author SHA1 Message Date
dingchang e3e1dba2c8
[Feature] Add voxel ops from mmdet3d (#1381)
* add ops (voxel) in mmdet3d

* add ops (voxel) in mmdet3d

* add ops (voxel) in mmdet3d

* refactor code

* update test

* update test

* update test

* refactor code

* refactor code

* refactor code

* fix typo

* fix typo
2021-10-21 11:08:11 +08:00
Ezra-Yu e8489a7b4b
Add case case_sensitive in scandir (#1389)
* add case_insensitive

* rename v

* case_insensitive to case_sensitive

* Update docstring
2021-10-20 14:34:34 +08:00
q.yao 91b8478c84
Reduce ms_deformable_attn test memory usage (#1407) 2021-10-15 19:49:39 +08:00
dingchang 5c25ae1a19
[Feature] Add roipoint_pool3d op from mmdet3d (#1358)
* add ops (roipoint_pool3d) in mmdet3d

* refactor code

* fix typo

* add unit test

* refactor code

* refactor code

* refactor code

* fix typo
2021-10-15 17:15:53 +08:00
dingchang e99bfce608
[Feature] Add assign_score_withk op for paconv from mmdet3d (#1357)
* add ops (assign_score_withk) in mmdet3d

* add ops (assign_score_withk) in mmdet3d

* refactor code

* fix typo

* refactor code

* fix typo

* polish docstring

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2021-10-15 13:18:31 +08:00
dingchang be5841e45d
[Feature] Add interpolate ops from mmdet3d (#1355)
* add ops (interpolate) in mmdet3d

* refactor code

* fix typo

* fix typo

* fix typo

* refactor code
2021-10-14 20:51:02 +08:00
Zaida Zhou 97e5bada4c
continue PR #1223 (#1404)
* fix MultiScaleDeformableAttention inference issue on cpu model

* fix lint

* add unintest

* remove some code

* Update tests/test_ops/test_ms_deformable_attn.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* fix device

* remove device

* add more device

* refactor unittest

Co-authored-by: zhicheng huang <zhichenghzc@gmail.com>
Co-authored-by: zhangshilong <2392587229zsl@gmail.com>
Co-authored-by: Shilong Zhang <61961338+jshilong@users.noreply.github.com>
2021-10-14 20:50:38 +08:00
dingchang 1cd01db935
[Feature] Add gather points op from mmdet3d (#1338)
* add ops (gather points) in mmdet3d

* add ops (gather points) in mmdet3d

* refactor code

* refactor code

* fix typo
2021-10-14 16:58:12 +08:00
dingchang 42c9e71120
[Feature] Add knn op from mmdet3d (#1354)
* add ops (knn) in mmdet3d

* refactor code

* refactor code

* fix typo

* fix typo

* fix typo

* refactor code

* refactor code

* spell typo

* fix spell typo
2021-10-14 13:33:13 +08:00
Shilong Zhang fa22d9db4e
Fix potiential bug in `deprecated_api_warning` (#1395)
* assert both dep and new args exist at same time

* add unintest

* Update tests/test_utils/test_misc.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* Update tests/test_utils/test_misc.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* polish warning

* polish warning

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2021-10-13 20:53:11 +08:00
dingchang 63a6cbe913
[Feature] Add fps op from mmdet3d (#1337)
* add ops (furthest point sample) in mmdet3d

* refactor code

* refactor code

* fix typo

* fix typo

* fix typo

* refactor code

* fix typo

* define DIVUP in common_cuda_helper.hpp
2021-10-13 20:39:31 +08:00
Eugene Liu 599163e645
Add Deformable Conv CustomOp for onnxruntime (#1343)
* add onnx dcn

* replace gemm with torch C++ api

* small update

* fix cpp clang format

* pefer generic GEMM than torch ATen library

* addressing comments

* add ops path check
2021-10-13 20:28:24 +08:00
Zaida Zhou f22c9eb4a4
Add code spell hook to pre-commit and fix typos (#1384)
* Add code-spell hook to pre-commit

* Add code-spell hook to pre-commit and fix typos

* fix setup.cfg
2021-10-04 20:13:54 +08:00
Miao Zheng 745aa7373e
[Fix] Revise unit test of correlation (#1368)
* [Fix] Revise unit test of correlation

* rename

* lint

* lint

* lint

* lint
2021-09-25 21:13:34 +08:00
Miao Zheng 324e9f18ff
[Features] Load optical flow data from bytes (#1362)
* [Features] Load optical flow data from bytes

* docstring

* revise base on comments

* compression test data

* compression test data

* docstring

* minors
2021-09-23 21:25:59 +08:00
Miao Zheng b92ea0b5df
[Feature] Add Correlation CUDA op (#1361) 2021-09-23 21:08:41 +08:00
dingchang f3dfc4135b
[Feature] Add ballquery op from mmdet3d (#1332) 2021-09-23 21:08:00 +08:00
Wenwei Zhang 4e101e0b75
[Feature]: Support empty tensor in MMSyncBN (#1205)
* [Feature]: support empty tensor in MMSyncBN

* refine code

* resolve comments

* clean unnecessary comments

* fix inaccurate statistics when empty tensor

* resolve comments and add docstrings

* update unit tests

* rephrase, ready for merge
2021-09-23 17:10:38 +08:00
Leojc 2a3d2d4a35
Reimplement cc_attention using pure pytorch (#1201)
* Reimplement cc_attention using pure pytorch

* fix: avoid BC-Breaking

* delete cc_attention related cpp and cuda files

* delete cc_attention related lines in pybind.cpp

* make out Tensor contiguous.

* remove unneeded lines.

* Update mmcv/ops/cc_attention.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* Update TestCrissCrossAttention

* passing pre-commit

* Update docstring of CrissCrossAttention

* Update docstring of CrissCrossAttention

* Update mmcv/ops/cc_attention.py

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

* [docs]polish the docstring

* [Docs] Polish the docstring

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>

Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
2021-09-09 21:53:45 +08:00
Tong Gao 642d281823
[Feature] Add revert_sync_batchnorm (#1253)
* [Feature] Add revert_sync_batchnorm

* support mmsyncbn (to be tested)

* Test passed

* Update docstring, rename the test file

* remove test_sync_bn

* add comment

* add mmcv.ops check

* Add a comment

* Add notes and relax test req

Co-authored-by: gaotongxiao <gaotongxiao@gmail.con>
2021-09-08 10:59:39 +08:00
young 99088c81a8
[Fix] Restrict the warning message (#1267)
* restrict the warning message

* and an important keyword in warning description

* a more elegant way of condition

* link format code too long

* fix the stupid spelling mistake

* Use issubclass to restrict warning message.

* maybe this version is more elegant.

* conv + bias + norm warning pytest

* 'created' a warning, hahaha

* isort and yapf format revision

* isort and yapf format revision

* flake8 fail issue

* I have to right this way in order to solve the conflicts between yapf and flake8, sigh...

* fixed test bug

* Add ruby windows installer source.

* Simplified the code and remove ruby source from CONTRIBUTING.md

* use _BatchNorm to simplify the code

* bug fix and add instanceNorm case into warning

* change the warning message to make it more clear

* fix unit test
2021-09-07 19:45:14 +08:00
Ma Zerun f5c28a6e08
[Fix] Fix missing `state_dict._metadata` when saving and loading checkpoints. (#1294)
* Fix missing `state_dict._metadata` when saving & loading checkpoints.

* Add unit tests.

* Fix default value and variable names in unit tests.
2021-09-07 17:53:33 +08:00
Eugene Liu e621e08d54
Add DCN and Modulated DCN CPU implementation (#1278)
* DCN cpu version

* add modulated dcn cpu version

* move deform_conv_shape_check to deform conv utils

* add inline to deform_conv_shape_check

* add tests

* run linter

* add newline at file end

* run pre-commit against modulated deform conv cpp

* update saconv test

* run clang-format

* remove cuda device inline

* refactor dcn cuda/cpu functions

* remove DCN util

* remove DCN util hpp from all included files

* Addressing PR comment by refactoring modulated-DCN

* fix lint in cpp files
2021-08-29 20:48:31 +08:00
Wenwei Zhang 979a355d2a
[Feature] Add windows CI (#1023)
* add windows CI

* clean versions

* only allow pt1.7 on windows

* fix windows install issue

* add win cpu

* fix win command

* clean unnecessary command

* resolve turbojpeg & tempfile on win

* replace os.readlink with os.path.realpath

* fix windows ci

* close file before removing it

* fix windows ci

* fix symlink on windows

* fix windows ci

* fix windows ci

* fix windows ci

* fix windows ci

* fix windows ci

* fix windows ci

* fix windows ci

* fix windows ci

* fix windows ci

* modify according to comment

Co-authored-by: zhouzaida <zhouzaida@163.com>
2021-08-24 10:07:31 +08:00
Paige Wang 1790e9f265
add modulated_deform_conv in onnxruntime support (#1281)
* 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
2021-08-23 11:22:24 +08:00
Ma Zerun 357b0dfb36
[WIP] continue PR #784 (#1221)
* Add gradient cumulative optimizer

fixes #190

* Update optimizer.py

* Update optimizer.py

* fix loss scale improperly in last equivalent_iter

* Add `GradientCumulativeOptimizerHook` in `__init__.py`.

* Add docstring of `GradientCumulativeOptimizerHook`.

* Add type check, BN warning and resume warning. And fix typo, lint the
code.

* Add unit test

* Update docstring example.

* Change GradientCumulativeOptimizerHook `__init__` arguments.

* Add GradientCumulativeOptimzierHook unit tests with IterBasedRunner.

* Add GradientCumulativeFp16OptimizerHook.

* Add unit tests of GradientCumulativeFp16OptimizerHook

* Use '!=' instead of '>' to determine resume

Co-authored-by: Zhiyuan Chen <this@zyc.ai>
2021-08-23 11:18:36 +08:00
Yining Li 4d9b43debd
Support deprecation info in Config (#1275)
* Support deprecation checking in Config

* add unittest for config deprecation

* support reference link in deprecation info

* add doc

* Update config.md
2021-08-23 10:36:37 +08:00
Zaida Zhou 846d3a4ac6
[Fix] Fix the bug that the training log and evaluating log are mixed (#1252)
* [Fix] Fix the bug that training log and evaluating log are mixed

* [Fix] Fix the bug that training log and evaluating log are mixed

* fix comment

* fix import error

* refactor

* refactor

* refactor

* clear log_buffer before evaluation

* fix error

* add unittest
2021-08-11 22:41:21 +08:00
Shilong Zhang 18c64d5fb0
Fix potential bugs of basemodule when record the initilization information (#1217)
* add logger for init

* change init_info of oevrload init_weight

* add judgement for params_init_info

* add delete comments for params_init_info

* add docstr and more comments

* add docstr and more comments

* resolve comments

* dump to a file

* add unitest

* fix unitest

* fix unitest

* write to ori log

* fix typo

* resolve commnets

* fix call initweights twice in topmost module

* fix the potential bug of recursive import

* fix unitest

* fix potiential bugs

* remove unneccesary change

* add more unitest

* fix add param in initweights

* add more comments

* raise error

* add more detail assert error
2021-08-11 22:05:44 +08:00
Jerry Jiarui XU c47c9196d0
[Docs] Add header for files (#1181)
* [Docs] Add header for files

* change to OpenMMLab

* add headers for .cpp, .cu, .h, .cuh

* replace Open-MMLab with OpenMMLab
2021-08-08 22:10:55 +08:00
Shilong Zhang 17fa6670eb
[Features] Add logger for initialization of parameters (#1150)
* add logger for init

* change init_info of oevrload init_weight

* add judgement for params_init_info

* add delete comments for params_init_info

* add docstr and more comments

* add docstr and more comments

* resolve comments

* dump to a file

* add unitest

* fix unitest

* fix unitest

* write to ori log

* fix typo

* resolve commnets
2021-07-23 21:07:54 +08:00
Haodong Duan ef48a47389
[Improvement] Improve digit_version & use it for version_checking (#1185)
* improve digit_version & use it for version_checking

* more testing for digit_version

* setuptools >= 50 is needed

* fix CI

* add debuging log

* >= to ==

* fix lint

* remove

* add failure case

* replace

* fix

* consider TORCH_VERSION == 'parrots'

* add unittest

* digit_version do not deal with the case if 'parrots' in version name.
2021-07-23 21:03:33 +08:00
Gu Wang 025ee9f5e6
[Feature] Add flat cosine lr updater (#1066)
* add flat cosine lr updater

* add test

* add doc

* update doc

* reformat

* update unittest

* update test flat cos

* remove momentum hook test

* update test

* change assert to ValueError

* fix unittest

* add by_epoch=True unittest

* change to start_percent

* change to start_percent in test
2021-07-20 17:16:50 +08:00
q.yao 5f9e6b610b
[Feature] Add ONNX export support to torch.roll (#1194)
* 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
2021-07-20 16:54:04 +08:00
Ma Zerun 366c628a85
[Fix] Fix potential interger overflow in `imequalize`. (#1198)
* Fix potential interger overflow in `imequalize`.

* Modify imequalize unit test image size to generate potential integer
overflow.
2021-07-14 21:03:06 +08:00
Ma Zerun 6659c38dd5
[Feature] Add `is_tracing` to wrap `torch.jit.is_tracing` in different versions. (#1187)
* Add `is_tracing` to wrap `torch.jit.is_tracing` in different versions.

* Remame `is_tracing` to `is_jit_tracing`

* Ignore `is_jit_tracing` tests in CI.
2021-07-13 14:42:50 +08:00
qjqfl 07d681ac00
[Feature]: support tensorrt custom plugin `MMCVCornerPool` (#1179) 2021-07-09 21:07:38 +08:00
Y_Xuan 2dc0a219c1
[Feature] Porting mmcv for hip (#1022)
* porting mmcv for hip

* add nvcc

* fix format

* fix format

* fix bug for carafe

* fix test_utils because rocm_torch not allow set torch.backends.cudnn.benchmark to false

* add LOOSEVERSION

* fix format

* fix format of version

* fix code format

* test for yaml

* fix bug for citest

* fix bug for how to get torch._version_ at setup.py
2021-07-09 21:02:10 +08:00
Zaida Zhou 4a9f83467c
[Fix] Fix unittest in pt1.9 (#1146)
* fix test.txt

* fix unittest in pt1.9

* fix checkpoint filename error

* add comment

* fix unittest

* fix onnxruntime version
2021-07-03 20:47:22 +08:00
Haodong Duan 1d5ee6e09a
use LooseVersion for version checking (#1158) 2021-06-29 21:33:08 +08:00
achaiah 21845db455
[Fix]: fix missing check of directory in scandir (#1110)
* Missing check for dir in the 'else' clause

Fixing issue when recursively scanning directories with filenames starting with '.'  Without this fix, the `if not entry.name.startswith('.') and entry.is_file()` logic falls through to the `else` clause which in the current code base will error out as it encounters '.' files (e.g. .DS_Store)

* Updated code per comments

* fixing indentation

* fix indenterror and add comment

* remove .DS_Store and add .file

Co-authored-by: zhouzaida <zhouzaida@163.com>
2021-06-29 21:31:00 +08:00
Ma Zerun 1b15f02220
support print hooks before running. (#1123)
* support print using hooks before running.

* Support to print hook trigger stages.

* Print stage-wise hook infos. And make `stages` as class attribute of
`Hook`

* Add util function `is_method_overriden` and use it in
`Hook.get_trigger_stages`.

* Add unit tests.

* Move `is_method_overriden` to `mmcv/utils/misc.py`

* Improve hook info text.

* Add base_class argument type assertion, and fix some typos.

* Remove `get_trigger_stages` to `get_triggered_stages`

* Use f-string.
2021-06-25 20:49:24 +08:00
Tong Gao 227e7a73b8
Support image reading while ignoring EXIF orientation info (#1091)
* Support image reading while ignoring EXIF orientation info

Add unit test for ignore_orientation flags in imread()

* add documentation for imread

* Add test cases
2021-06-25 20:46:13 +08:00
Ma Zerun 6fe3722510
Refine default hooks and custom hooks priority rank. (#1120)
* Refine default hooks and custom hooks priority rank.

* Add unit tests for custom hooks with string priority.

* Use priority `ABOVE_NORMAL` and `BELOW_NORMAL` instead of `HIGHER` and
`LOWER`.

And add unit tests for custom hook with the same priority as
default hooks.
2021-06-25 15:07:32 +08:00
lizz d9effbd1d0
Support variables in base files for configs (#1083)
* Support variables in base files for configs

Signed-off-by: lizz <lizz@sensetime.com>

* Test json and yaml as well

Signed-off-by: lizz <lizz@sensetime.com>

* Add test for recusive base

Signed-off-by: lizz <lizz@sensetime.com>

* Test misleading values

Signed-off-by: lizz <lizz@sensetime.com>

* Improve comments

Signed-off-by: lizz <lizz@sensetime.com>

* Add doc

Signed-off-by: lizz <lizz@sensetime.com>

* Improve doc

Signed-off-by: lizz <lizz@sensetime.com>

* More tests

Signed-off-by: lizz <lizz@sensetime.com>

* Harder test case

Signed-off-by: lizz <lizz@sensetime.com>

* use BASE_KEY instead of base

Signed-off-by: lizz <lizz@sensetime.com>
2021-06-25 14:30:58 +08:00
Yining Li 560719da41
EvalHook uses case-insensitive key indicator matching and configurabl… (#1076)
* EvalHook uses case-insensitive key indicator matching and configurable test functions

* * fix docstring

* * move test_fn import into __init__
* configurable greater/less keys

* * update unittest
* update DistEvalHook

* fix comments and remove debug code

* support single greater/less key
2021-06-24 22:08:48 +08:00
Junjun2016 49a1d347bb
[Enhancement] Support resize or rescale to multiple (#1121)
* add resize or rescale to multiple

* add imresize_to_multiple function in mmcv.image

* fix docstring

* use to_2tuple
2021-06-24 21:21:51 +08:00
Jintao Lin 9c26a1049e
empty tensor inference backward compatible (#1131)
* empty tensor inference backward continity

* update

* add 3d
2021-06-24 17:04:03 +08:00
Junjun2016 f7caa80f9c
[Enhancement] Add to_ntuple (#1125)
* add to_ntuple

* add unit test
2021-06-23 10:19:28 +08:00
q.yao 004c00675f
[Feature]: add modulated deformable conv TensorRT support (#1078)
* add modulated dcn, better dcn plugin

* clangformat

* update documentation
2021-06-16 21:38:07 +08:00
Shilong Zhang e05fb56031
Refactor the baseclass related to transformer (#978)
* minor changes

* change to modulist

* change to Sequential

* replace dropout with attn_drop and proj_drop in MultiheadAttention

* add operation_name for attn

* add drop path and move all ffn args to ffncfgs

* fix typo

* fix a bug when use default value of ffn_cfgs

* fix ffns

* add deprecate warning

* fix deprecate warning

* change to pop kwargs

* support register FFN of transformer

* support batch first

* fix batch first wapper

* fix forward wapper

* fix typo

* fix lint

* add unitest for transformer

* fix unitest

* fix equal

* use allclose

* fix comments

* fix comments

* change configdict to dict

* move drop to a file

* add comments for drop path

* add noqa 501

* move bnc wapper to MultiheadAttention

* move bnc wapper to MultiheadAttention

* use dep warning

* resolve comments

* add unitest:

* rename residual to identity

* revert runner

* msda residual to identity

* rename inp_identity to identity

* fix name

* fix transformer

* remove key in msda

* remove assert for key

Co-authored-by: HIT-cwh <2892770585@qq.com>
Co-authored-by: bkhuang <congee524@gmail.com>
Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
2021-06-11 18:09:31 +08:00
Dmitry Sidnev a88d1d28c1
[Feature] enable exporting to onnx for PointRend (#953)
* Fix export to onnx for PointRend

* Fix codestyle

* Fix codestyle

* Fix type in docstring

* Minor fix

* Fix export with custom ops

* Fix codestyle

* Add tests for bilinear_grid_sample function

* Remove redundant operation and rename variables

* Fix bug in bilinear_grid_sample and update test

* Fix getting batch size

* skip torch==1.3.1

* remove unused import

* fix lint

* support export with batch

* fix dynamic clip

* skip test for torch<1.5.0

* Add docstrings and comments

* Minor fix

* Recover clipping code

* Fix clamping in pytorch 1.7.0

* Fix bilinear_grid_sampler

* Minor fix

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2021-06-11 13:49:19 +08:00
David de la Iglesia Castro bdd7022143
Add DvcliveLoggerHook (#1075)
* Add dvclive logger hook

* Move docstring to class

* docstring updates
2021-06-08 22:20:33 +08:00
Miao Zheng 50c255bc2d
[Feature] Support to use name of the base classes in init_cfg (#1057)
* [Fix] Support names of base classes matching in init_cfg

* revise bool to len
2021-06-01 22:35:19 +08:00
SemyonBevzuk bf2c9fa8d2
[Feature] NMS update (#957)
* 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>
2021-05-31 23:42:26 +08:00
RunningLeon 4d42365ac2
[Feature]: add TensorRT InstanceNormalization plugin (#1034)
* add instancenorm plugin

* resolve comments

* fix lint

* fix typo
2021-05-25 20:03:57 +08:00
v-qjqs 6c7d6c32ee
Supports cuda version BorderAlign module (#1021)
* support cuda version `BorderAlign` module

* fix symbolic

* merge

* fix cpp lint error

* add unit test

* add comments for code references

* reformat doc

* fix lint error

* fix conflict
2021-05-25 15:23:11 +08:00
pc 732ff5093e
Add ms_deformable_attn in parrots (#1042) 2021-05-25 13:13:05 +08:00
q.yao 9d1436fb6c
[Feature] add cummax/cummin tensorrt plugin (#1031)
* add cummax/cummin tensorrt plugin

* fix isort

* fix with clang-format

* fix with clang-format again

* add document
2021-05-24 13:55:21 +08:00
Zaida Zhou 55b4847a41
[Feature] Add truncated normal weight init (#935)
* [Feature] Add truncated normal weight init

* [Feature] Add truncated normal weight init

* [Feature] Add truncated normal weight init

* update docstring

* delete modelA.pth

* modify according to comment

* use kstest to check truncated normal

* delete modelA.pth

* fix test.txt
2021-05-23 20:54:54 +08:00
Guangchen Lin 4bd3b5027a
[Fix] Support amp (pytorch >= 1.6.0) on DCN and DCNv2/ Add unit tests on DCN/DCNv2 amp (#1029)
* fix fp16 bug on DCNv2

* support fp16 on DCN/DCNv2 when pytorch >= '1.6.0'

* add comment

* Modified the comments

* Unified the usages of '.to()' and '.type_as()'
2021-05-23 17:42:59 +08:00
fcakyon e9f2a02b47
add neptune.ai logger hook (#1025)
* add neptune.ai logger hook

* add docstring

* move docstring

* update docstr

* update before_run
2021-05-23 15:28:21 +08:00
Guangchen Lin 5be9593499
[Fix] fix generalized attention fp16 (#1036)
* fix generalized attention fp16

* fix building without gpu error

* add comment

* Cast tensor at initialization
2021-05-23 15:16:27 +08:00
Ma Zerun 15bcaa9c05
Add custom hook by config file (#970)
* Assign different priority to default hooks, and add custom hook register in base runner.

* Add custom hook register in example train file

* Add unittest of custom hook

* Code format
2021-05-13 20:29:17 +08:00
Shilong Zhang 9b8dd0835d
[fix]: fix softnms (#1019)
* fix basemodule

* fix typo

* fix unitest
2021-05-13 14:04:54 +08:00
Jintao Lin 4c2b05f9b8
Load `hook_msgs` when resume checkpoint (#962) 2021-05-13 09:54:38 +08:00
jeffreykuang 2623fbf21c
Add pixel group and contour expand ops (#993)
* add pixel group ops

* reformatting

* formatting&rm auto

* Add citation

* Add contour expand

* c++ linting

* Add unit tests with Tensor

* rm model.pth

* rename

* c++ linting

* c++ linting

* Rename variables
2021-05-12 10:41:22 +08:00
Ziyi Wu c77e95a65f
[Enhance] Add step momentum updater to support MMDet3D (#1011)
* add StepMomentumUpdaterHook

* add unit test

* fix typos

* refactor step updater

* replace stage with exp

* fix linting error

* use all() operation
2021-05-11 20:06:04 +08:00
gengenkai 1a5bf76237
[Enhancement] LR triangular (#1001)
* [Fix] lr add triangular

* [Fix] lr_triangular

* lr add docstring

* lr add docstring

* add unittest of triangular lr update
2021-05-11 13:25:43 +08:00
lizz f61295d944
Add test util for checking stand-alone python scripts (#1007)
* Add test util for checking stand-alone scripts

Signed-off-by: lizz <lizz@sensetime.com>

* Restrict to python scripts

Signed-off-by: lizz <lizz@sensetime.com>

* fix

Signed-off-by: lizz <lizz@sensetime.com>

* tiny

Signed-off-by: lizz <lizz@sensetime.com>

* Allow no capture

Signed-off-by: lizz <lizz@sensetime.com>

* Simplify interface

Signed-off-by: lizz <lizz@sensetime.com>

* Technical notes

Signed-off-by: lizz <lizz@sensetime.com>

* tiny

Signed-off-by: lizz <lizz@sensetime.com>

* Update hello.py

* Update test_testing.py

* Update test_testing.py
2021-05-10 22:15:35 +08:00
v-qjqs 934b549e23
Support custom operators cummax and cummin for onnxruntime (#1010)
* 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
2021-05-10 21:33:27 +08:00
v-qjqs db6b0542c7
[Feature]: Support corner_pool related custom operators for onnxruntime in mmcv (#997)
* 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++
2021-05-01 16:28:25 +08:00
Ziyi Wu 04346fc7d0
[Feature] Support clipping min_lr in StepLrUpdaterHook to help MMDet3D (#995)
* support clipping min_lr in StepLrUpdaterHook

* add docstring for StepLrUpdaterHook

* fix small bugs

* add unit test for StepLrUpdaterHook

* fix linting error
2021-04-27 20:53:29 +08:00
Wang Xiaolin 0fc19b4692
[Feature]: parrots add parrots/fused_bias & upfirdn2d (#989) 2021-04-27 13:49:50 +08:00
Rui Xu 0be0410443
[Bug] fix raise error bug in registering multiple names (#949)
* fix raise error bug in registering multiple names

* fix bug in checking the type of name

* fix lint

* fix unit test for registry

* fix bug in unit test
2021-04-25 21:47:50 +08:00
ZhangShilong 54a7ebb4ec
[Feature]: support Multi-Scale-DeformAttention in deformable-detr (#878)
* add c++ ms_deform_atten

* fix cpp lint

* fix cpp lint

* clang format

* remove cmakefile

* google style

* clang-format precommit

* use clang-format-lint-action

* add transformer base class

* add merge

* add docstr

* add pyargs

* fix according to commments

* resiger module

* change to use basemodule

* add _ between build function

* split the name

* fix according to comments

* fix lint and fix unitest

* fix cpp lint

* fix bug of deformdetr_atten

* fix drop out

* fix residual

* use CUDA_1D_KERNEL_LOOP
2021-04-23 16:35:15 +08:00
Miao Zheng a76416393c
[Fix] Rename init_weight to init_weights (#971)
* [Fix] Rename init_weight to init_weights

* warning msg
2021-04-20 14:49:42 +08:00
Wang Xinjiang ee041cec6a
[Feature]: Add Rotated ROI align op for pytorch (cpu&cuda), parrots (cpu&cuda) and onnxruntime (cpu) (#933)
* 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>
2021-04-19 15:04:01 +08:00
Miao Zheng 79f8cbd661
[Bug] Fix DeformConv2d bias error and add tests (#940)
* [Bug] Fix DeformConv2d bias error and add tests

* fix repr

* revise tests

* lint
2021-04-12 20:31:34 +08:00
Miao Zheng 2fadb1a5ec
[Fix] Revise override in init_cfg (#930)
* [Fix] Config deep copy in initialize_override

* add asserts&comments

* add test

* test org init_cfg

* test override without name

* typo
2021-04-12 14:05:28 +08:00
Jerry Jiarui XU 375605fba8
add model registry (#760)
* add model registry

* fixed infer scoep

* fixed build func

* add docstring

* add md

* support multi level

* clean comments

* add docs

* fixed parent

* add more doc

* add value error, add docstring

* fixed docs

* change to local/global search

* resolve comments

* fixed test

* update some docstring

* update docs (minior)

* update docs

* update docs
2021-04-10 21:33:34 +08:00
Miao Zheng 47825b194e
[Refactoring] Revise init_weight in BaseModule (#905)
* [Refactoring] Add deprecated API warning

* revise test

* fix lint

* fix lint
2021-04-10 21:20:53 +08:00
Miao Zheng 89efc607ef
[Fix] OneCycleLrUpdaterHook adds total_steps (#929)
* [Fix] OneCycleLrUpdaterHook interface

* revise according to comments

* revise according to comments

* add test

* fix lint

* revise according to comments

* minors

* add pytest param

* fix lint

* ci
2021-04-10 21:19:45 +08:00
QingChuanWS b5e1facc85
[Refactor]: Remove deprecated onnx-simplify source code (#927)
* remove custom simplify model

* update docs about onnx-simplify
2021-04-09 16:17:11 +08:00
zhouzaida d525cfde10
[Fix] Fix bug of lr updater hook (#907)
* [Fix] fix bug of lr update hook

* [Fix] fix bug of lr update hook

* [Fix] Fix bug of lr updater hook
2021-04-09 10:13:32 +08:00
Jintao Lin be6541d480
[Feature] Add EvalHook which will be used in downstream projects (#739)
* add EvalHook

* add EvalHook

* refactor docstring

* polish

* use cp instead symlink

* add error info

* Update eval.py

* Update eval.py

* update

* add engine depandancy

* add comments

* fix unittest

* fix

* update unittest

* update unittest

* add docstring

* fix docstring
2021-04-08 16:42:30 +08:00
tangyanf 83cf25b284
[feature]:add onnxruntime custom op grid_sample (#916)
* add onnxruntime custom op grid_sample

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code

* update code
2021-04-06 18:31:24 +08:00
zhouzaida f0c43fdc32
[Feature] Add OneCycleLrUpdaterHook (#906)
* [Feature] Add OneCycleLrUpdaterHook

* fix docstring

* fix docstring

* Remove redundant code
2021-04-02 09:44:18 +08:00
q.yao 9d80f56ae8
[Feature] : Add grid_sampler TensorRT Plugin (#865)
* add grid sample trt support

* fix align_corners=True

* change 'intep' to 'interp', fix bugs of grid sampler, better test script

* remove unused import

* move source comment to the top of trt_grid_sampler_kernel.cu
2021-03-31 00:28:08 +08:00
LXXXXR 8647b9a1b1
[Feature] Add cutout and lighting (#909)
* add cutout

* add adjust_lighting

* minor fix
2021-03-26 18:58:19 +08:00
Miao Zheng 65fec73509
[Refactoring] Revise function of layers and override keys in init_cfg (#893)
* [Refactoring]Approve init_cfg

* revise unit test

* revise according to comments

* add comment for wholemodule
2021-03-26 16:57:59 +08:00
Miao Zheng 5f5e8e83c2
[Refactoring] Add Caffe2Xavier Initializer (#902)
* [Refactoring] Add Caffe2Xavier Initializer

* fix lint
2021-03-24 13:25:36 +08:00
Rui Xu 933b052d95
[Feature] Add cuda ops: UpFirDn2d and fused_bias_leakyrelu (#900)
* add upfirdn2d op

* fix bug in pybind

* add fused bias leakyrelu

* fix bug in fused-bias-leakyrelu

* fix lint error

* fix bug in build cpu version

* fix bug in build cpu version

* fix lint

* fix comment from zww

Co-authored-by: zhangshilong <zhangshilong@sensetime.com>
2021-03-21 21:23:09 +08:00
ZhangShilong 371a21728f
fix bug of convmodule (#889)
* fix bug of convmodule

* fix bug of convmodule

* fix unitest

* remove assert
2021-03-20 23:08:20 +08:00
zhouzaida 97730c2316
[Feature] support to calculate FLOPs of GN, IN, LN (#897)
* [Feature] support to calculate FLOPs of GN, IN, LN

* Update flops_counter.py

* Update flops_counter.py
2021-03-19 14:04:49 +08:00
Miao Zheng 967d9d5812
[Refactoring]Add Sequential with init_weight (#884)
* [Refactoring]Add BaseSequtial with init_weight

* revise according to comments

* revise comments

* minors

* baseseq2seq

* add modulelist

* revise minors

* fix isort

* format
2021-03-17 15:45:28 +08:00
sshuair 73bff4ead1
add tifffile backend support for image io (#868)
* add tifffile backend support for imageio

* add tifffile package for test requirements

* add tifffile package for test requirements

* small tiffile
2021-03-12 10:28:30 +08:00
q.yao 9ba1f76005
[Feature] : Add Deformable Conv2d TensorRT Plugin (#858)
* add dcn tensorrt plugin

* prepare for fp16 support

* fix for lint

* limit column buffer

* add docstring to memcpyPermute
2021-03-11 15:41:47 +08:00
LXXXXR a4bb2c5b04
[Feature] Support auto contrast (#881)
* support auto contrast

* add comments

* Fix unittest for pillow 6.2.2

* revised according to comments
2021-03-09 18:46:35 +08:00
RunningLeon 3dd98daaa2
fix test unit of nms and batched_nms for tensorrt (#872) 2021-03-08 16:57:19 +08:00
LXXXXR ce10425d2f
[Feature] Add adjust sharpness (#864)
* add adjust sharpness

* revised according to commnts

* fix bug

* fix docstring

* revise according to comments

* fix blank lines

* revised according to comments
2021-03-08 10:23:49 +08:00
LXXXXR 27e9ede5b9
[Fix]: fix bugs in some photometric transforms (#863) 2021-03-03 18:58:15 +08:00
sshuair 6719cde43a
add HTTP backend (#860)
* add HTTP backend

* add HTTPbackend

* fix linting

* fix linting

* add docs attributes http

* fix format

* add real http link test for http backend
2021-03-03 16:23:04 +08:00
Ycr e076c8b042
[Feature] Support revise_keys in load_checkpoint(). (#829)
* Simplified the code.

* Improved chkpt compatibility.

* One may modify the checkpoint via adding keywords.

* Tiny.

* Following reviewer's suggestion.

* Added unit_test.

* Fixed.

* Modify the state_dict  with  construction.

* Added test.

* Modified。

* Mimimalised the modification.

* Added the docstring.

* Format.

* Improved.

* Tiny.

* Temp file.

* Added assertion.

* Doc string.

* Fixed.
2021-03-03 10:59:11 +08:00
z55250825 48d9902585
Add new parrots extension implementation for all ops (#794)
* 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
2021-02-26 19:05:25 +08:00
RunningLeon 72e4cc12bd
Fix pytorch2onnx failed for interpolate op with PyTorch==1.6.0(mmdet#4646) (#848)
* Fix pytorch2onnx for yolov3 with torch==1.6.0

* update and add test for F.interpolate

* add test_onnx.py with build_cuda
2021-02-26 10:49:12 +08:00
Haian Huang(深度眸) 58a8483352
Fix the iter error when the number of GPUs is different during resume (#844)
* Fix the iter error when the number of GPUs is different during resume

* Add fromstring and unit test

* Remove is_pretty_text

* Fix comment

* Add log info

* Add py format check

* Remove SyntaxError check
2021-02-25 16:40:06 +08:00
q.yao 1ee5315ea2
[Feature] : Add NonMaxSuppression TensorRT Plugin (#787)
* 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

* add scatternd, nms plugin (WIP)

* fix bugs of trt_nms

* add trt nms test module

* fix bugs of scatternd

* code optimize, add comment about nms kernel

* fix transform_if bug of trt_nms_kernel

* fix struct name

* default nms offset=0, fix bugs of batched input

* format with clang-format

* onnx preprocess

* much better nms implementation, no need to transfer memory between host and device

* update preprocess_onnx

* parse constant tensor from initializer in preprocess_onnx

* update nms

* remove unnecessary codes

* workspace aligned address

* format trt_plugin_helper.hpp

* fix index memory bugs

* set alignment to 16 by default

* fix lint

* fix nms offset

* fix bugs of preprocess onnx

* update test for nms

* tensorrt only accept int32, not int64

* update nms comments

* fix indexing for scores in nms

* update trt temp

* make trt-nms compatiable to #803

* fix lint

* add docstring to trt_nms_kernel.cuda, add description to preprocess_onnx

* add comment to score indexing

* fix bugs of max output boxes

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2021-02-23 15:09:49 +08:00
Miao Zheng 72e13e6a0b
fix baserunner bug (#840)
* fix baserunner bug

* add unit test

* hooks type check
2021-02-20 12:46:40 +08:00
Wang Xinjiang 3d229dbaf2
Add more error info in build_from_cfg (#834)
* Add more Error info in building from config

* Add more Error info in building from config

* change error info
2021-02-18 13:07:42 +08:00
lizz 1c2e665ad6
map_location for all (#826)
* map_location for all

* format

* hmm

* map_location

* back

* doc

* same
2021-02-10 12:23:39 +08:00
Miao Zheng a4c3702628
add initializers and BaseModule for unified parameter initialization (#780)
* add initializers and BaseModule for unified parameter initialization

* fix circle import

* bug fix

* add is_init flag in BaseModule

* fix docstring

* sort import and fix doc format

* fix bug

* fix docformat and double quote string

* fix import sort

* import sort

* sort import

* revise according to comments

* fix doc format

* revise according to comments

* revise import and fix typo

* polish code

* revise minors

* revice minors

* revise apply function

* revise bias initialization with probability

* add type test for bias_prob

* revise minors
2021-02-07 11:13:57 +08:00
tangyanf be2616a0e2
add ort nms op (#803)
* add ort nms op

* fit lint check

* fix lint check

* update code

* fix lint check

* update code

* update code

* update code

* update code

* update code

* update code
2021-02-04 15:45:09 +08:00
Haian Huang(深度眸) 96892bdc42
Refactor _load_checkpoint fn (#790)
* Refactor _load_checkpoint fn

* Update _load_checkpoint fn

* Update docs str and add unit test

* Fix unit test

* Fix lint

* Add comment and Optimize function

* Fix docs str

* Update load_ckpt and fix doc str

* Update doc str and add sort unit test

* Update and fix unit test

* Fix unit test

* Update and add unit test

* Fix openmmlab prefix error
2021-01-28 15:09:19 +08:00
David de la Iglesia Castro 4450bd2ec2
Hande exif orientation with `pillow` backend in `imread` (#805)
* Add breaking test

* Handle exif orientation tag
2021-01-27 11:53:43 +08:00
q.yao 2ab544fc29
[Feature] : Add ScatterND TensorRT Plugin (#786)
* add scatter plugin

* fix bugs of scatternd

* add trt scatternd plugin

* format code with clang-format

* add test for scatternd

* skip test_tensorrt in CI

* remove unused variable

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2021-01-20 11:15:07 +08:00
BigBigDream 8e3a801596
fix mmcv ci for parrots (#782)
* fix mmcv ci for parrots

* fix mmcv ci

* fix lint
2021-01-14 14:31:57 +08:00
Qiaofei Li 3d6032c6db
Add dataset classes name info to meta for saving ckpt (#776)
* add CLASSES to meta info

* Update checkpoint.py

* add unit test for CLASSES name

* clean up the tmp folder

* use tempfile to clean up temp folder
2021-01-08 16:40:43 +08:00
congee 905c9b43b8
Add common testing function of MM repos (#743)
* add testing function

add unittest for check_dict

add unittest for the function in testing

* polish docstring of testing.py

rename some function

* remove  in is_all_zeros

* modify the comment of check_dict

* modify the testing.py according to feedback

* add test about numpy for function dict_contains_subset

* applying unified style
2021-01-08 13:18:08 +08:00
RunningLeon 477f0c0a39
[Fix]: Set installation of onnx simplify's related packages to optional (#779)
* Fix onnx, onnxruntime, onnxoptimizer import

* Revert "Fix onnx, onnxruntime, onnxoptimizer import"

This reverts commit 820e3785a1.

* remove simplify from init file

* update test for onnx simplify

* update onnx doc
2021-01-08 13:15:37 +08:00
Rui Xu 276883f120
[Feature] Allow register multi-name for a module simultaneously (#775)
* allow register multi-name for a module simultaneously

* add assertion for name type

* use isintance intead of is_str

* fix bug in unit test

* fix unit test
2021-01-07 22:27:20 +08:00
q.yao 0de9e149c0
[Feature]: Add custom operators support for TensorRT in mmcv (#686)
* 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>
2021-01-06 11:05:19 +08:00
RunningLeon 83732ec2e3
[Feature] add onnx simplify (#751)
* [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
2020-12-31 19:16:48 +08:00
tangyanf 741e52dd5e
[Feature]: add custom op roialign for onnxruntime (#724)
* add ort custom op roialign

* Update roi_align.py

* Update test_onnx.py

* Update test_onnx.py

* Update test_onnx.py

* Update test_onnx.py

* Update onnxruntime_register.cpp

* Update roiAlign.h

* Update roiAlign.cpp

* lint modification

* update roiAlign.cpp

* lint check

* lint check

* lint fix

* lint fix

* fix lint

* add link to commit

Co-authored-by: maningsheng <maningsheng@sensetime.com>
2020-12-29 14:09:30 +08:00
Kai Chen c1acedcc3b
Remove pytest from the runtime dependencies (#763)
* update the CI to avoid extra dependencies

* remove the dependency of pytest

* fix typo

* remove skip_no_parrots from __init__
2020-12-28 13:23:48 +08:00
BigBigDream 86c9ac2cb9
add 'iof' mode for box_iou_rotated (#753)
* add iof mode for box_iou_rotated

* update doc

* fix lint

* fix lint

* fix lint

* fix lint

* fix lint
2020-12-25 17:06:45 +08:00
Wenwei Zhang de767fc126
reformat test config to pass yapf (#759) 2020-12-25 16:55:02 +08:00
BigBigDream 655f3c3fe9
fix mmcv_ci test_wrappers.py for parrots (#758) 2020-12-24 19:50:46 +08:00
q.yao 94810f2297
[Feature]: Add custom operators support for onnxruntime in mmcv (#612)
* 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>
2020-12-23 11:03:55 +08:00
LXXXXR 09661d9754
[Feature] support upload and download checkpoint from pavimodelcloud (#725)
* support upload and download checkpoint from pavimodelcloud

* try import pavi

* add unittest
2020-12-22 12:59:07 +08:00
Rui Xu 826d3a7b68
[Bug] Avoid recursion error when using customized norm layer without _abbr_ (#732)
* avoid recursion error when using customized norm layer without _abbr_

* fix unittest bug
2020-12-22 10:19:52 +08:00
Wang Xinjiang 96ebfa652b
Allow to replace nested tuple and list via options (#731)
* Allow to replace nested tuple and list via options

* Add comments

* Fix single nested items

* Simplify the code

* Simplify the code

* Simplify the code

* Simplify the code

* Update docstring

* Update docstring

* Support quotation mark

* modify docstring
2020-12-20 21:28:48 +08:00
WRH f0e68404d2
Fix some bug as well as unit test for nms_rotate (#728)
* add const to nms_rorate in pybind

* fix test nms rotated

* skip test instead of passing it

* fix lint

* update pytest skip syntax
2020-12-18 15:17:11 +08:00
BigBigDream 508a322fba
Support aligned mode for box_iou_rotated (#677)
* support aligned and parrots cpu for  box_iou_roatetd

* add aligned doc

* fix lint

* fix lint

* fix lint

* fix lint

* fix bug

* fix bug

* fix bug

* fix lint

* fix lint

* fix bug

* fix bug
2020-12-16 11:49:44 +08:00
lml131 9befc39811
Lml/jit decorator (#673)
* add jit decorator

* add parrots_jit.py

* modify test_parrots_jit.py

* modify for lint

* fix isort

* skip test_parrots_jit.py when build without pytorch

* try ci

* rm log

* fix double quote

* modify for comments and use partial_shape instead of full_shape

* fix for lint

* small modify for parrots 0.9.0rc0

* def skip no elena directly
2020-12-15 18:20:37 +08:00
BigBigDream 02920db2cc
fix roi_align ci for parrots (#708)
* fix roi_align ci for parrots

* fix lint
2020-12-13 20:01:25 +08:00
Rui Xu b7136e3953
[Refactor] remove the c implementation of flow_warp (#707)
* remove flow-warp-c

* remove flow warp in setup.py and imports

* fix floor and ceil bug

* fix broadcast bug

* add warnings and assertions

* fix bilinear bug

* pass unit test

* pass unit test

* pass unit test

* pass unit test

* fix value bug

* fix lint

* fix lint

* add mk lint

* update docs

* update docs

* fix bug in imports

* fix bug in setup.py
2020-12-13 19:43:25 +08:00
Kai Chen afc35f13ff
relax the error bound in colorspace conversion (#706) 2020-12-12 19:16:11 +08:00
Rui Xu cd96a84add
[Feature] Add clamp activation layer. (#685)
* add clamp without unittest

* add clamp-act with unit test

* fix name bug

* use logical and

* fix logical_and

* fix linting

* rename ClampLayer to Clamp

* rename ClampLayer to Clamp

Co-authored-by: nbei <631557085@qq.com>
2020-12-09 10:28:32 +08:00
Wang Xinjiang c9f96855b0
Allow list index keys in Config.merge_from_dict (#696)
* Allow list keys in Config merge from dict

* Reformat

* Set allow_list_keys default as True in merge_from_dict

* Fix docstring

* fix a small typo
2020-12-08 17:17:27 +08:00
BigBigDream a978764883
Add box_iou_rotated, ml_nms_rotated and nms_rotated (#625)
* add box_iou_rotated, ml_nms_rotated and nms_rotated

* fix lint

* fix lint

* fix .py lint

* fix cpp lint

* add newline at the end

* add new line

* fix unittest

* config google style

* fix lint

* lint

* lint

* yapf

* update

* fix lint

* fix lint

* fix lint

* fix

* fix format

* fix format

* add modified from

* add docstring and update others

* update docstring

* update docstring

* update

* fix bug

* fix bug

* fix bug

Co-authored-by: Cao Yuhang <yhcao6@gmail.com>
2020-11-25 11:00:30 +08:00
Jerry Jiarui XU 987cb58341
[Enhance] Refactor logger (#659)
* [Enhance] Refactor logger

* fixed test

* make commit optional

* remove debug info

* fixed test
2020-11-23 10:50:18 +08:00
Wenwei Zhang dfa36dfe3b
Merge pull request #652 from dreamerlin/3d
[Feature] Add 3D support in wrapper
2020-11-20 16:33:54 +08:00
yamengxi ec43b671ab
[Enhance]enhance hsigmoid (#657)
* enhance hsigmoid

* delete int
2020-11-19 21:26:26 +08:00
dreamerlin e70dca8f86 add conv3d 2020-11-18 21:24:20 +08:00
dreamerlin 144e7567a7 use pytest.mark.parametrize 2020-11-18 15:35:21 +08:00
dreamerlin 86d9f4684a add MaxPool3d 2020-11-15 19:07:46 +08:00
dreamerlin 8ccea20234 add ConvTranspose3d 2020-11-15 18:56:02 +08:00
q.yao c390e327fa
add onnx support to roi_align and roi_pool (#593)
* add onnx support to roi_align and roi_pool

* add test on roi_align and roi_pool

* fix conflict with master
2020-11-14 19:56:35 +08:00
yamengxi c6c230df1b
[Feature] Add CLAHE method (#647)
* add CLAHE

* add CLAHE

* restore

* Add docstring

* modify docstring

* modify CLAHE to clahe

* fix syntax error

* simplify assert

* simplify assert

* add assert test

* fix unittest bug

* fix syntax bug

* fix assert bug
2020-11-11 22:34:14 +08:00
yamengxi d9ef9dabe2
[Feature] Add LUT transform (#646)
* add lut_transform

* restore

* fix test bug

* add test

* Fix syntax bug

* Delete test id

* modfiy docstrinng

* simplify assert
2020-11-11 17:32:41 +08:00
Jerry Jiarui XU bb06f354d5
[Feature] Add hook msg for checkpoint hook (#635)
* [Feature] Add hook msg for ckpt_hook

* [Feature] Add hook msg for ckpt_hook

* add test
2020-11-06 19:56:50 +08:00
Kuro Latency bcf85026c3
Update lr_updater.py (#574)
* Update lr_updater.py

since epoch/iteration in  runner starts with 0, we shouldn't leave the latter iteration to former (12th epoch for example, with first period equal to 12) period.

* Update lr_updater.py

* Update test_hooks.py
2020-11-05 22:20:37 +08:00
Kai Chen 03214fd446
Support pytorch 1.7 and update the CI (#631)
* support pytorch 1.7 and update the CI

* fix CI

* fix onnxruntime version in macos
2020-10-31 17:58:15 +08:00
Ruohui Wang 761f725b70
Misc updates regarding Windows and unittests (#586)
* SKIP bbox test without CUDA

* use full filepath for creating latest.pth
2020-10-28 16:23:19 +08:00
David de la Iglesia Castro 2e6c8ec803
Refactor logger hooks (#605)
* Refactor tags for consistency

* Fix missing runner

* Fix missing runner

* Fix missing runner

* Fix missing runner

* Fix momentum runner hook inner iter

* Fix tests

* pre-commit run
2020-10-28 12:43:50 +08:00
robin Han 23b2bdbf52
add unittest for onnx convert (#608)
* 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
2020-10-26 11:33:35 +08:00
Jintao Lin a260a96a0f
import_modules_from_strings when loading cfg from file (#606)
* import_modules_from_strings when loading cfg from file

* add unittest to tell whether the feature is enabled as expected

* minor

* set an environment variable instead of writing a file

* use 'shutil' instead of 'os.system'
2020-10-15 22:29:24 +08:00
Wenwei Zhang 005c408748
Fix wrappers version comparison (#602)
* add version check in wrappers

* fix assersion

* use digital version for version comparison

* fix unit tests

* reformat

* fall back to compare the first two version

* fix unittest

* fix unittest

* fix unit test

* clean unnecessary change
2020-10-06 12:44:56 +08:00
GT9505 acee61d7c5
register deconv in CONV_LAYERS (#582)
* register deconv in CONV_LAYERS

* use ConvTranspose2d implemented in MMCV

* remove repetitive register_module

* update

* add unittest for deconv
2020-09-27 17:51:00 +08:00
Wenwei Zhang ed2887bb72
Support to specify LR of DCN's conv_offset (#344)
* Support to specify LR of DCN's conv_offset

* Resolve comments & add unit test

* Resolve formats

* Fix CI for DCN

* Mock DCN when cpu only

* Use mock for cpu testing

* Fix docstring and support ModulatedDCN

* set offset_lr_mult as dcn's arguments, link CU-49u01p

* fix lr bug

* fall back to set LR in constructor

* resolve comments
2020-09-25 20:51:58 +08:00
David de la Iglesia Castro 6b52e9b55f
Add runner builder (#570)
* Add build_runner

* Parametrize test_runner

* Add imports to runner __init__

* Refactor max_iters and max_epochs from run to init

* Add assertion error messages

* Add test_builder

* Make change retro-compatible

* Raise ValueError if max_epochs and max_iters
2020-09-25 10:25:29 +08:00
David de la Iglesia Castro 779f47bab9
Allow type to be default arg (#558)
* Add test case for type defined using default_args

* Refactor build_from_cfg

* Update exception of missing type

* pre-commit

* Fix default_args is None

* pre-commit

* Bring back test

* Update exception raising
2020-09-16 19:16:49 +08:00
Qiaofei Li a0cc5a8450
Supports brightness and contrast augmentations (#546)
* add brightness and contrast augmentation

* remove unnecessary

* reformat

* relax the precision constrain for adjust_brightness aug

* fix percision assertion error in unit test

* remove toy

* rename alpha as factor

* use np.testing.assert_allclose in place of np.less_equal
2020-09-14 12:14:43 +08:00
Wenwei Zhang c937d3953d
Mv wrappers into bricks and use wrappers in registry (#550)
* Mv wrappers into bricks and use wrappers in registry

* resolve import issues

* fix import issues

* set nn op forward to torch 1.6.1

* fix CI bug and add warning

* Fix CI by using patch mock

* mv warnings inside deprecated module's initialization
2020-09-12 21:59:17 +08:00
Xiaojie Li 49e32c2688
Implementation of 2D convolution in tensorflow with `padding` as "same" (#529)
* update impad

* fix docstring

* add shape for impad

* fix unit test

* remove old version & fix doc

* fix linting

* fix doc

* add linear decay learning rate scheduler

* fix impad

* fix setup.cfg

* fix linting

* add yapf

* add swish

* fix lr_updater

* fix lr_updater.py

* update swish

* add swish

* fix inplace

* fix typo

* update

* add same padding

* fix docstring

* add unittest

* fix register

* change name

Co-authored-by: lixiaojie <lixiaojie@sensetime.com>
2020-09-09 23:57:48 +08:00
Qiaofei Li a59a35bcce
Supports Equalize Augmentation. (#543)
* add equalize augmentation in mmcv

* delete unnecessary

* reformat

* remove clip in implementing equalize, and add uint test with case step=0

* remove clip in implementing equalize, and add uint test with case step=0

* add comments for unit test

* rename function name as imequalize
2020-09-08 14:44:14 +08:00
Qiaofei Li 95417a5d24
Supports Color augmentation. (#542)
* add Color augmentation

* reformat

* reformat

* reformat docstring

* reformat docstring

* add more unit test

* add more unit test

* add clip value and uint test for image with type float

* rename function name
2020-09-08 13:09:06 +08:00
Jintao Lin fec7cd61d6
Support reading video from url (#531)
* add url support for VideoReader

* add a comment

* add unittest

* use a connectable url for ci
2020-09-07 00:52:33 +08:00
Qiaofei Li 9769024fbd
Add Translate augmentation. (#538)
* add imtranslate

* add imtranslate

* update comments

* reformat
2020-09-04 20:30:42 +08:00
Qiaofei Li 06556c8459
Add shear augmentation (#526)
* Add shear augmentation

* Update geometric.py

* Update geometric.py
2020-09-02 10:57:36 +08:00
Xiaojie Li c3d8eb34ff
add Swish activation (#522)
* update impad

* fix docstring

* add shape for impad

* fix unit test

* remove old version & fix doc

* fix linting

* fix doc

* add linear decay learning rate scheduler

* fix impad

* fix setup.cfg

* fix linting

* add yapf

* add swish

* fix lr_updater

* fix lr_updater.py

* update swish

* add swish

* fix inplace

* fix typo

Co-authored-by: lixiaojie <lixiaojie@sensetime.com>
2020-08-27 00:39:17 +08:00
Kai Chen 66a38c86f8
Move unit tests to specific folders (#520)
* move unit tests to specific folders

* fix path error

* remove some assertions

* fix ignore path
2020-08-25 20:11:56 +08:00
Kai Chen 89e1716afe
Bump version to v1.1.1 (#518)
* bump version to 1.1.1

* add more version utils

* move parse_version_info to version.py
2020-08-24 16:30:45 +08:00
Wang Xinjiang 09b7d6c7dd
Import modules from a string list (#514)
* Custom imports

* Resolve comments

* Add unittest

* Add unittest

* Rename custom_imports to import_modules_from_strings

* Move import_modules_from_strings ito misc.py and allow failed imports

* small change

* small change

* change mmcv.runner to os.path
2020-08-24 13:45:34 +08:00
Kai Chen 270e470ee1
[feature] Add collect_env() to collect environment info (#517)
* [feature] Add collect_env() to collect environment info

* fix unit tests

* fix the case when ops are not compiled

* fix docstring
2020-08-24 13:41:54 +08:00
Wenwei Zhang f4a5446e15
Support to split batched_nms when box number is too large (#516)
* Support to split batched_nms when box number is too large

* mv data from gpu to cpu

* Set split_thr through nms_cfg

* clean code

* Update motivation in docstring

* fix typos
2020-08-24 00:32:39 +08:00
Jerry Jiarui XU 83d9a9c89b
[Feature] Add diagonal flip (#515) 2020-08-22 14:29:27 +08:00
Kevin 95a9728c42
Support pickle.loads (#499) (#500) 2020-08-21 13:06:00 +08:00
Cao Yuhang 7b18b97791
fix saconv (#489)
* fix saconv

* add parrots condition

* add unittest

* fix torch version
2020-08-16 01:45:01 +08:00
Wang Xinjiang eacaf475f7
fix some pavi logger hooks (#481)
* fix some pavi logger hooks

* fix unittest

* fix small bugs

* small change

* fix unittest

* Add EpochBasedRunner conditions

* Add session text

* fix small bug

* fetch runner mode from log buffer

* Add max_iter to pavi session text

* change yaml.dump to yamp.dump(yaml.load(mmcv.dump))

* Directly use by_epoch

* fix unittest

* add comments

* Use runner.epoch + 1 in pavi log

* fix runner.epoch issue for runner.mode=='val'

* fix runner.epoch issue for runner.mode=='val'

* Use abspath instead of realpath

* Add meta dump unittest

* small change

* Add comments
2020-08-16 01:20:08 +08:00
Jintao Lin c8e85b28e4
Add `tin_shift` function (#492)
* add tin shift

* add unittest

* add docstring

* add docstring

* parrots for tin_shift

* fix lint

* fix lint

Co-authored-by: jiaomenglei <jiaomenglei@sensetime.com>
2020-08-15 22:29:07 +08:00
Yuanhao Zhu 51c65c97ec
fix syncbn parameter order mismatch and parrots bug (#488) 2020-08-13 19:27:05 +08:00
Kai Chen cac22f8cf5
Add pytorch 1.6 to CI (#476)
* add pytorch 1.6 to CI

* fix typo

* fix ci error

Co-authored-by: Cao Yuhang <yhcao6@gmail.com>
2020-08-09 21:56:15 +08:00
Jerry Jiarui XU 56e71a718b
Add Depthwise Seperable ConvModule (#477) 2020-08-09 17:29:02 +08:00
Jintao Lin 9de04d2284
Replace `re` with `regex` (#457)
* replace `re` with `regex`

* add regex in requirements

* use regex on windows and re on linux

* update requirements.txt
2020-08-03 11:45:50 +08:00
shilong 1830347f8b
Ema (#421)
* add ema hook

* add ema hook resume

* add ema hook test

* fix typo

* fix according to comment

* delete logger

* fix according to comment

* fix unitest

* fix typo

* fix according to comment

* change to resume_from

* typo

* fix isort
2020-07-30 22:06:19 +08:00
Wang Xinjiang d4da3daa7e
Syncbuf (#447)
* More robust sync buffer hook

* More robust sync buffer hook

* Reformat
2020-07-25 12:51:46 +08:00
Wang Xinjiang 66604e83de
Add syncbuffer hook (#443)
* reformat

* reformat

* Add register hook from cfg

* docstring

* change according to comments
2020-07-24 14:15:44 +08:00
Jiamin 55fadb4c4e
Add runner.meta to checkpoint in save_checkpoint() (#438)
* fix: error when runner.meta is None

* tests: add unittest for epoch-based save_checkpoint
2020-07-20 11:40:04 +08:00
Yawei Li 7730a79fcd
fix typo of annealing (#433) 2020-07-17 23:48:22 +08:00
Jintao Lin 6ece0e5d19
Add pairwise function for 'gaussian' and 'concatenation' mode in NonLocal. (#424)
* add pairwise function for 'gaussian' and 'concatenation' mode

* rename test function

* decrease the complexity of nonlocal unittest

* fix typo and make unittest more complete

* add unittest when zero_init is False

* minor fix

* pack theta and phi

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2020-07-17 23:44:50 +08:00
Jerry Jiarui XU 9e3ff5f94c
Support pillow resize (#426)
* Support pillow resize

* add more types
2020-07-17 19:25:47 +08:00
Jerry Jiarui XU 4a044c6466
Support FP16 (#428)
* Support FP16

* update ci
2020-07-17 11:14:07 +08:00
Jerry Jiarui XU 7cfc839ea5
Add MMSyncBN in registry (#420)
* Add MMSyncBN in registery

* skip mmsyncbn test
2020-07-15 19:23:09 +08:00
Harry 5704613e28
Remove all module wrapper's module when saving checkpoint (#399)
* fix: remove all module wrapper when saving checkpoint

* refactor: move position of if

* docs: add docstring

* refactor: add _save_to_state_dict from official torch

* docs: modify docstring of _save_to_state_dict

* docs: modify docstring

* feat: add unittest

* feat: add DataParallel to unittest

* fix: a bug when model has batchnorm

* docs: update docstring
2020-07-08 23:20:22 +08:00
Joanna 27cc439d01
Update config to support predefined variables (#348)
* update config with predefined variables

* rm redun

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* add test for config

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* support all types

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* newline at the end

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* update

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* extract code into a function and add docs

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* fix and add tests

Signed-off-by: lixuanyi <lixuanyi@sensetime.com>

* add unit tests and fix

* fix

* fix minor

* fix test
2020-07-08 20:53:54 +08:00
Cao Yuhang 926ac07bb8
Move fuse conv bn to mmcv (#382)
* move fuse conv bn to mmcv

* update doc

* update test conv bn

* rename

* fix doc and variable name

* change func name
2020-07-08 19:03:15 +08:00
Cao Yuhang d5cbf7eed1
Migrate op (#392)
* migrate op

* migrate unittest

* update build no torch

* add back use_torch_vision for roi align

* fix type and unit test

* ignore test logging when no torch

* fix no torch ci test

* skip test registry

* remove coverage report when no torch

* fix mac ci order

* install latest pillow when no torch

* mv convws to brisk
2020-07-08 17:29:15 +08:00
Kai Chen 63b7aa31b6
Fix docstring formats (#383)
* update doc formats

* update docstring
2020-07-04 00:55:25 +08:00
Jerry Jiarui XU 42f03d84de
Refactor plugins: move from ops to cnn (#380)
* Refator plugins: move from ops to cnn

* minior update

* minior update
2020-07-03 01:37:58 +08:00
Xiaojie Li 82211b407e
Added new features to `impad` (#377)
* update impad

* fix docstring

* add shape for impad

* fix unit test

* remove old version & fix doc

* fix linting

* fix doc

Co-authored-by: lixiaojie <lixiaojie@sensetime.com>
2020-07-02 19:34:46 +08:00
Jerry Jiarui XU 9c51928b7c
Add tensor2imgs in misc (#374)
* add tensor2imgs in misc

* rename

* fixed import

* raise error
2020-07-02 00:14:50 +08:00
Jintao Lin 1ebd7ea6fb
add unittest for set_random_seed (#376) 2020-07-02 00:13:04 +08:00
Jerry Jiarui XU 0970ae94c2
Add cpu ops (#370)
* update actiion

* remove 1.3 cuda

* reorder

* add no torch

* fixed version

* make py3.8 on pt1.5

* make py3.8 on pt1.5

* remove torch 1.3

* disable py3.8

* pip

* merge master with cuda compile fix

* add cpu roi align

* fixed test

* fixed no torch

* add CUDA_ARGS

* use one line

* gencode=61

* seperate jobs

* update lint

* use parametrize test

* formart and rename

* unit test for all
2020-06-30 12:09:48 +08:00
louzana 2c6fc5fd9b
fix bug of building ConvModule with HSigmoid using inplace=True and a… (#369)
* fix bug of building ConvModule with HSigmoid using inplace=True and add corresponding unittest

* fix linting
2020-06-28 23:27:14 +08:00
zhuyuanhao c0f5492ee9
add ext ops, support parrots (#310)
* add ext ops, support parrots

* fix lint

* fix lint

* update op from mmdetection

* support non-pytorch env

* fix import bug

* test not import mmcv.op

* rename mmcv.op to mmcv.ops

* fix compile warning

* 1. fix syncbn warning in pytorch 1.5
2. support only cpu compile
3. add point_sample from mmdet

* fix text bug

* update docstrings

* fix line endings

* minor updates

* remove non_local from ops

* bug fix for nonlocal2d

* rename ops_ext to _ext and _ext to _flow_warp_ext

* update the doc

* try clang-format github action

* fix github action

* add ops to api.rst

* fix cpp format

* fix clang format issues

* remove .clang-format

Co-authored-by: Kai Chen <chenkaidev@gmail.com>
2020-06-28 23:15:47 +08:00
Jintao Lin 9bc0b96d02
Add utils to calculate model complexity and adjust folder structure for mmcv/cnn/utils . (#366)
* Add utils to calculate model complexity info

* remove _InstanceNorm in unittest

* add docstring and increase unittest coverage

* fix deconv_flops_counter_hook to accept different data shape

* test when model is not a common instance

* put flops_counter.py and weight_init.py into mmcv/cnn/utils folder

* fix import name

* reformat some docstrings

* update the scripts with latest one and remove redundant codes

* directly represent a model without string and eval()

* reformat code
2020-06-26 21:38:29 +08:00
Harry 69048ff056
Specifying distributed training port in os.environ when training with slurm (#362)
* feat: support for os.environ port for slurm training

* fix: port data type

* feat: add flawed unittest

* feat: add flawed unittest

* docs: add comments

* fix: unittest

* fix: unittest
2020-06-20 00:49:44 +08:00
louzana fef7b2fea4
add hswish and hsigmoid (#358)
* add hswish and hsigmoid

* fix linting

* fix linting

* delete useless staticmethod in cnn/bricks/hsigmoid.py

* forward(x) ==> forward(seld, x)

* add unittests for hsigmoid and hswish

* use torch.equal instead of numpy.equal
2020-06-19 21:35:17 +08:00
Harry 4808988117
Fix potential bug in DefaultOptimizerConstructor (#355)
* fix: fix custom_keys whenweight_decay is not specified

* docs: small fix

* feat: add type check

* refactor: move if outside for
2020-06-18 22:07:16 +08:00
Jintao Lin dcc20f3a4b
Add `_NonLocalNd` module (#331)
* add non_local module

* rewrite non local module comments

* perfect docstring and adjust init function

* not to init norm layer

* Correct initialize when there is a norm

* set normal method for both embedded_gaussian and dot_product
2020-06-18 20:56:48 +08:00
Kai Chen 6bb244f255
add train_step() and val_step() for MMDP (#354) 2020-06-18 20:55:53 +08:00
Harry c74d729d92
Add custom_group to DefaultOptimizerConstrutor (#347)
* feat: add custom_group to DefaultOptimConstrutor

* refactor: move custom_groups validate to _validate_cfg

* docs: add doc to explain custom_groups

* feat: add unittest for non_exist_key

* refactor: one param per group

* fix: small fix

* fix: name

* docs: docstring

* refactor: change to mult for only lr and wd custom

* docs: docstring

* docs: more explaination

* feat: sort custom key

* docs: add docstring

* refactor: use reverse arg of sorted

* docs: fix comment

* docs: fix comment

* refactor: small modi

* refactor: small modi

* refactor: small modi
2020-06-17 23:39:50 +08:00
Kai Chen 657f03ad08
replace DeprecationWarning with UserWarning (#353) 2020-06-17 20:52:48 +08:00
Harry 799421003d
Add module wrapper registry (#352)
* feat: modify parallel to module wrapper

* fix: unittest

* fix: add registry file

* feat: add module wrapper unittest
2020-06-17 20:12:54 +08:00
Jerry Jiarui XU c6784f4acf
add backend arg (#350)
* add backend arg

* add test

* update doc, add test

* update test

* update doc
2020-06-17 19:42:31 +08:00
Wang Xinjiang 630b747cb1
added pillow backend in loading (#333)
* added pillow backend in loading

* reformat

* remove auto fill for RGBA

* change according to comments

* change according to comments

* reformat
2020-06-17 10:25:48 +08:00
Harry f28a7c7ed7
Add CosineRestartLrUpdaterHook (#319)
* feat: add CosineRestartLrUpdaterHook

* style: rename period to periods

* fix: bug in period 0

* feat: rename eta_min to min_lr and add min_lr_ratio

* docs: fix docstring of restart lr updater

* refactor: use annealing_cos

* docs: add docstring to annealing_cos

* feat: cosine restart lr update hook

* refactor: modify code order for unittest
2020-06-15 23:01:26 +08:00
lizz 9f04477f93
Harmless changes (#340)
* harmless changes

Signed-off-by: lizz <lizz@sensetime.com>

* Update conv_module.py

* No bracket for simple class

Signed-off-by: lizz <lizz@sensetime.com>
2020-06-15 11:29:01 +08:00
lizz b87e774f66
Remove more unused things (#338)
* Remove more unused things

Signed-off-by: lizz <lizz@sensetime.com>

* panic

Signed-off-by: lizz <lizz@sensetime.com>
2020-06-13 20:19:30 +08:00
Jintao Lin 5a98f7e421
enalbe memcached support in PetrelBackend (#341) 2020-06-13 18:32:48 +08:00
Harry 67a26da917
Add IterBasedRunner (#314)
* feat: add IterBasedRunner

* fix: unittest

* feat: more unittest

* fix: expose dataloader len

* minor updates of BaseRunner

* refactor: remove CosineRestartLrUpdaterHook

* style: add docstring

* refactor: update IterTextLoggerHook: fstring and exp_name

* fix: epoch_runner unittest

* refactor: remove IterBasedTextLogger

* fix: old IterTextLoggerHook issue

* refactor: remove __len__ of IterLoader

* feat: add IterBasedRunner to init

* feat: add __len__ to IterLoader

* fix some docstrings

* refactor: use is_parallel_module

* fix: import issue

* fix: runner unittest missing logger

* fix checkpoints

* feat: add by_epoch default value to IterBaseRunner regitering loggger_hook

* refactor: remove setting by_epoch in log_config

* minor refactoring

* docs: add docstring

* fix: remove unused doc

* update the log info for saving checkpoints

Co-authored-by: Kai Chen <chenkaidev@gmail.com>
2020-06-11 13:35:34 +08:00
Jerry Jiarui XU 61f9e91c9f
Add syntax check in .py config (#330)
* Add syntax check in .py config

* rename validate
2020-06-10 23:07:59 +08:00
Jerry Jiarui XU 2aa7712cb7
add more act w.o. inplace opt (#329) 2020-06-10 15:42:09 +08:00
Kai Chen 821b3ad622
Fix the BC issue of ddp (#325)
* fix the BC issue of ddp

* minor fix for the docstring
2020-06-08 22:34:19 +08:00
Jerry Jiarui XU a3ae781789
add reserved key in config (#315) 2020-06-04 14:55:28 +08:00
Kai Chen 35ba152821
Add a BaseRunner and rename Runner to EpochBasedRunner (#290)
* add a BaseRunner and rename Runner to EpochBasedRunner

* fix the train/val step

* bug fix

* update unit tests

* fix unit tests

* raise an error if both batch_processor and train_step are set

* add a unit test
2020-06-02 22:23:21 +08:00
Harry 6f21d8b560
Add optimizer constructor from mmdetection (#313)
* feat: add optimizer constructor

* refactor: version
2020-06-02 19:57:24 +08:00
Harry efecf7d1fe
fix building ConvModule with Tanh activation (#309)
* fix: tanh has not inplace

* feat: add ConvModule with Tanh
2020-06-01 21:26:51 +08:00
Kai Chen 213156cebb
Allow registering new backends with decorators (#307)
* allow registering new backends with decorators

* add a docstring

* minor update to the docstring
2020-05-31 21:56:03 +08:00
Wenwei Zhang 8ceb404ea6
Use mapping rather than dict for special keys (#304)
* Support path as a key in dict of config

* reformat test case

* update pre-commit version and fix format

* fix bug

* clean code

* reformat

* fix missing parts
2020-05-30 13:03:33 +08:00
Jerry Jiarui XU d6411b7fff
BC of model zoo: add deprecate urls (#301)
* add deprecate urls

* add deprecate urls

* warning test

* rename to deprecated.json
2020-05-27 22:09:06 +08:00
Jerry Jiarui XU 37d8facfad Support default/external json for open-mmlab models (#230)
* support default/external json for open-mmlab models

* add local

* add more test

* add docs

* add docs

* update docs

* refactor

* add json in MANIFEST

* fixed json typo
2020-05-27 17:12:43 +08:00
Jerry Jiarui XU 0946feabe3
add PetrelBackend (#294)
* add PetrelBackend

* update docs

* add path_maps for Ceph

* rename to path_mapping

* fixed import
2020-05-23 01:31:11 +08:00
Kai Chen 3bf3e8ef24
Revert "add PetrelBackend (#291)" (#293)
This reverts commit 7f80a2c6b9.
2020-05-23 01:07:43 +08:00
Jerry Jiarui XU 7f80a2c6b9
add PetrelBackend (#291)
* add PetrelBackend

* update docs

* add path_maps for Ceph

* rename to path_mapping
2020-05-22 12:31:34 +08:00
Jintao Lin 25d07e3d54
Support conv layers' own `init_weights` method (#278)
* Support conv layers' own `init_weights` method

* Add related unittest about ConvModule init_weight

* make the comments more specific
2020-05-13 22:58:16 +08:00
Wenwei Zhang c35c228cbb
Support to pass args to cnn bricks (#277) 2020-05-12 10:41:11 +08:00
Jerry Jiarui XU d5936d02e3
Make Config.dump() output in original file (#275)
* add dump() from for different file type

* remove exception
2020-05-11 21:48:56 +08:00
Kai Chen d4fac3a6dd
Use parrots wrapper (#272)
* use parrots wrapper for norms

* add unittests for is_norm()

* add a test case
2020-05-08 11:24:35 +08:00
Kai Chen 6aa5131559
move test_weight_init to tests/test_cnn (#270) 2020-05-05 21:03:12 +08:00
Wenwei Zhang 19e4a06cbc
Fix CosineAnealingLr register bug (#265)
* Fall back to CosineLr

* Fix consineanealing with unittest

* Cover momentum hook

* Add comments to explain
2020-05-04 00:38:55 +08:00
Xintao 65fbc75689
Add colorspace functions: rgb2ycbcr, bgr2ycbcr, ycbcr2rgb and ycbcr2bgr (#259)
* update

* add functions

* update tests

* resolve comments

* resolve comments

* resolve comments

* update docstr
2020-05-03 23:32:48 +08:00
Jerry Jiarui XU 1d54ee217e
remove deprecate register_module (#262) 2020-05-02 00:35:30 +08:00
Jerry Jiarui XU a5b5193767
Fixed config import in config file (#261)
* fixed config import in code

* fixed isort
2020-05-01 21:55:07 +08:00
Kai Chen 45111e193d
Add building bricks of cnn (#247)
* add building bricks of cnn

* add unit tests

* use registry for building bricks

* minor updates

* add scale layer

* add test for scale

* add doc string

Co-authored-by: Jiarui XU <xvjiarui0826@gmail.com>
2020-05-01 00:32:25 +08:00
Jerry Jiarui XU 45a39dc6a8
make config merge a into b non-inplace (#254) 2020-04-29 15:09:27 +08:00
Kai Chen f7de63fdd0
Support specifying names for registry.register_module() (#251)
* support specifying names for registry.register_module()

* minor fix

* add more unittests
2020-04-27 22:47:49 +08:00
Kai Chen a338d43d78
Refactor unittests (#241)
* refactor unittests

* split test_video.py to two files
2020-04-26 22:54:27 +08:00