109 Commits

Author SHA1 Message Date
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 7f80a2c6b9c7f994b9420e72b32f84a0283e4e05.
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
Cao Yuhang
b7e8d7d7fb
Use f-string (#245)
* use f-string

* delete python3.5 sup

* minor fix

* fix supported python version

* fix format

* fix yapf

* remove redundant space

* fix typo
2020-04-26 00:21:54 +08:00
Jerry Jiarui XU
1e8a212187
Add DictAction and docs for config (#243)
* fixed merge_from_dict, add DictAction

* add config docs

* fixed format type

* change to easy example

* update docs

* update docs
2020-04-25 20:56:08 +08:00
Kai Chen
e333d8222b
Add FileClient to access file from different backends (#237)
* add file client

* install missing requirements

* use .format() instead of f-string
2020-04-23 19:54:29 +08:00
Kai Chen
a0618d1051
Refactoring mmcv.images (#239)
* refactoring mmcv.images

* update docstring and minor fix

* some renames
2020-04-23 00:34:51 +08:00
Kai Chen
af02ac9f01
Use tmp dir as work_dir of runner (#236)
* use tmp dir as work_dir of runner

* only run codecov for python 3.7

* remove useless comments
2020-04-22 23:33:54 +08:00