Commit Graph

206 Commits (7e1d7af2d921c8f83f865848768540fe4ca8ae46)

Author SHA1 Message Date
Zaida Zhou 7e1d7af2d9
[Refactor] Refactor code structure (#395)
* Rename data to structure

* adjust the way to import module

* adjust the way to import module

* rename Structure to Data Structures in docs api

* rename structure to structures

* support using some modules of mmengine without torch

* fix circleci config

* fix circleci config

* fix registry ut

* minor fix

* move init method from model/utils to model/weight_init.py

* move init method from model/utils to model/weight_init.py

* move sync_bn to model

* move functions depending on torch to dl_utils

* format import

* fix logging ut

* add weight init in model/__init__.py

* move get_config and get_model to mmengine/hub

* move log_processor.py to mmengine/runner

* fix ut

* Add TimeCounter in dl_utils/__init__.py
2022-08-24 19:14:07 +08:00
Zaida Zhou 486d8cda56
[Refactor] Refactor the import rule (#459)
* [Refactor] Refactor the import rule

* minor refinement

* add a comment
2022-08-23 18:58:36 +08:00
Zaida Zhou a9ad09bded
[Fix] Fix utils ut (#458) 2022-08-23 16:56:47 +08:00
liukuikun bb56cf42ab
[Visualizer] use FigureManager to manage figure to avoid affecting plt.show() outside Visualizer(#440)
* figure in Visualizer is not managed by plt

* encapsulate code and remove unused code
2022-08-22 17:16:14 +08:00
Zaida Zhou b75962a660
Migrate utils from mmcv (#447) 2022-08-22 11:51:56 +08:00
Mashiro e907931fb8
Fix unit tests (#449) 2022-08-21 14:54:24 +08:00
Zaida Zhou 429bb27972
[Refactor]: migrate LMDB backends and modifications from open-mmlab/mmcv#1764 and open-mmlab/mmcv#1747 (#426)
* Add fileio ut

* pick modification from master branch

* pick modification from mmcv #1764

* test fileio without mmcv

* remove unnecessary checking
2022-08-19 16:06:49 +08:00
Mashiro 4abf1a0454
[Enhance] Support build evaluator from list of built metric (#423)
* Support build evaluator from list of built metric

* regist evaluator

* fix as comment

* add unit test
2022-08-19 10:56:51 +08:00
Mashiro d6ad01a4cf
[Fix]: fix ci (#441) 2022-08-18 14:04:19 +08:00
Mashiro e08b9031fc
[Enhance] Support building optimizer wrapper from built Optimizer instance (#422)
* support build optimizer wrapper from built Optimizer instance

* refine comments
2022-08-17 19:17:00 +08:00
Mashiro a706bbc018
[Fix]: fix error and add unit test (#429) 2022-08-17 19:16:00 +08:00
Zaida Zhou 4637c49640
[Refactor] Rename test_hook to test_hooks (#425) 2022-08-15 11:45:07 +08:00
Mashiro 438e8e7498
BaseModel support recursively set the device of data_preprocessor (#387) 2022-08-15 11:04:24 +08:00
Zaida Zhou f98ba60629
[Enhancement] Improve unit tests of mmengine/runner (#182)
* [Enhancement] Add unit test for get_priority

* fix priority ut

* fix typo

Co-authored-by: Wenwei Zhang <40779233+ZwwWayne@users.noreply.github.com>
2022-08-15 10:57:58 +08:00
Mashiro 2708b7ed48
fix ci (#424) 2022-08-13 09:15:08 +08:00
RangiLyu 813f49bf23
[Feature] Support CosineRestartParamScheduler. (#397)
* [Feature] Support CosineRestartParamScheduler.

* add ut and docstring

* add docstring
2022-08-11 17:57:35 +08:00
Mashiro b14cbc2576
[Fix] Fix wrong epoch and iter when saving best ckpt (#400)
* fix wrong epoch andd iter when save bbest ckpt

* fix ut

* fix resume best ckpt unexpectedly

* minor refine

* fix unit test
2022-08-11 14:52:38 +08:00
Mashiro ee56f151f6
[Fix] Support training with data without `metainfo`. (#417)
* support training with data without metainfo

* clean the code

* clean the code
2022-08-11 14:51:11 +08:00
Ma Zerun 9b2a0e02da
[Enhance] Add `data_preprocessor` config as an argument of runner. (#343)
* [Enhance] Add `preprocess_cfg` as an argument of runner.

* Rename `preprocess_cfg` to `data_preprocessor`

* Fix docstring
2022-08-09 11:25:29 +08:00
Mashiro cd257c9047
[Enhance] Support log enviroment information during initiate runner (#384)
* Support log enviroment information when initiate runner

* Fix unit test

* fix as comment, save world_size

* log gpu num

* clear code and reformat log

* minor refine

* fix as comment

* minor refine

* clean the code

* clean the code

* remove save world_size in meta
2022-08-08 22:23:52 +08:00
Mashiro 7e2302388f
[Feature] add config new feature (#105) 2022-08-08 21:01:06 +08:00
Mashiro a07a063306
[Enhance] Add build function for scheduler. (#372)
* add build function for scheduler

* add unit test

add unit test

* handle convert_to_iter in build_scheduler_from_cfg

* restore deleted code

* format import

* fix lint
2022-08-08 20:34:16 +08:00
Mashiro 99de0951af
[Enhance] EMAHook support does not load checkpoint strictly (#352)
* BaseAveragedModel support load ckpt without module prefix

* refine docstring

* allow EMAHook does not load ckpt strictly

* add unit test for strict argument of EMAHook

* sync remote

* sync remote

* clean the code

* ema hook supports setting start iter

* fix unit test

* fix as comment

* fix as comment

* describe kwargs
2022-08-08 20:26:16 +08:00
LeoXing1996 08602a2385
[Enhancement] Support save best based on multi metrics (#349)
* support save best based on multi metrics

* add unit test

* resolve bugs after rebasing

* revise docstring

* revise docstring

* fix as comment

* revise as comment
2022-08-08 20:17:17 +08:00
Mashiro 6ebb7ed481
[Fix] Fix config cannot change(assign) the value of the dict in config(without base config) (#378)
* Support changing value of dict in config(without base config)

* minor refine
2022-08-08 17:07:47 +08:00
Mashiro 5580542666
[Fix] Fix build multiple list of scheduler for multiple optimizers (#383)
* fix build multiple scheduler

* add new unit test

* fix comment and error message

* fix comment and error message

* extract _parse_scheduler_cfg

* always call build_param_scheduler during train and resume. If there is only one optimizer, the defaut value for sheduler will be a list, otherwise there is multiple optimizer, the default value of sheduler will be a dict

* minor refine

* rename runner test exp name

* fix as comment

* minor refine

* fix ut

* only check parameter scheduler

* minor refine
2022-08-08 17:05:27 +08:00
Mashiro 1a8f013937
[Refine] Make scheduler default to None (#396)
* make scheduler default to None

* fix bc breaking

* refine warning message

* fix as comment

* fix as comment

* fix lint
2022-08-04 20:13:13 +08:00
Mashiro df4e6e3294
[Fix] Fix resume `message_hub` and save `metainfo` in message_hub. (#394)
* Fix resume message hub and save metainfo in messagehub

* fix as comment
2022-08-02 19:06:35 +08:00
Mashiro f850de71c3
[Fix] Support use 'global variable' in config function (#390)
* Support use 'global var' in config function

* upload test file
2022-08-01 20:10:10 +08:00
RangiLyu 4432e54c97
[Fix] Fix gpu tensors in results list are not on the same device. (#385)
* [Fix] Fix gpu tensors in results list are not on the same device.

* cast all tensor to cpu
2022-08-01 10:20:57 +08:00
Miao Zheng 39e7efb04d
[Fix] Revise UT of OneCycle schedulor (#388) 2022-07-27 16:22:00 +08:00
Mashiro 6bd548d8bb
[FIx] Logging time in LoggerHook.after_val_epoch has no effect (#376) 2022-07-20 16:51:11 +08:00
Mashiro 6b47035fdf
[Fix] Fix save scheduler state dict with optim wrapper (#375)
* fix save scheduler state dict with optim wrapper

* remove for loop and inherit TestParameterScheduler

* remove for loop and inherit TestParameterScheduler

* minor refine
2022-07-20 16:32:48 +08:00
Tong Gao 5b065b10fd
[Enhance] Support Compose(None) (#373)
* [Enhance] Allow Compose(None)

* add typehint

* fix
2022-07-20 16:04:24 +08:00
Mashiro ea61bf6bb7
Fix: avoid modification of scalar_dict in LocalVisBackend (#377) 2022-07-20 16:03:01 +08:00
RangiLyu 1241c21296
[Fix] Fix weight initializing in test and refine registry logging. (#367)
* [Fix] Fix weight initializing and registry logging.

* sync params

* resolve comments
2022-07-19 18:28:57 +08:00
Ma Zerun 3da66d1f87
[Enhance] Auto set the `end` of param schedulers. (#361)
* [Enhance] Auto set the `end` of param schedulers.

* Add log output and unit test

* Update docstring

* Update unit tests of `CosineAnnealingParamScheduler`.
2022-07-15 19:53:28 +08:00
Mashiro 78fad67d0d
[Fix] fix resume message_hub (#353)
* fix resume message_hub

* add unit test

* support resume from messagehub

* minor refine

* add comment

* fix typo

* update docstring
2022-07-14 20:13:22 +08:00
Mashiro 45001a1f6f
[Enhance] Support using variables in base config directly as normal variables. (#329)
* first commit

* Support modify base config and add unit test

* remove import mmengine in config

* add unit test

* fix lint

* add unit test

* move RemoveAssignFromAST to config utils

* git add utils

* fix format issue in test file

* refine unit test

* refine unit test
2022-07-14 13:05:55 +08:00
Mashiro 6b608b4ef1
[Enhance] Add `build_model_from_cfg` (#328)
* clean code

* fix as comment

* fix as comment

* add get_registry_by_scope method

* add unit test and docstring example

* rename get_registry_by_scope to switch_scope_and_registry

* move build function to registry/builder

* fix docstring

* rename builder->registry_builder, move build_from_cfg to registry_builder

rename builder->registry_builder, move build_from_cfg to registry_builder

* rename registry_builder to build_function

rename registry_builder to build_function

* fix docstring and type hint

* rename build_function to build_functions
2022-07-13 19:01:59 +08:00
Mashiro b2ee9f8b11
[Fix] Fix loss could be nan in optimizer wrapper (#345)
* fix optimizer wrapper counts

* fix ut
2022-07-06 16:42:49 +08:00
RangiLyu a3d2916790
[Enhance] Support scheduling betas with MomentumScheduler. (#346)
* [Enhance] Support scheduling betas with MomentumScheduler.

* enhance ut

* test adam betas

* enhance ut

* enhance ut
2022-07-05 20:37:23 +08:00
Mashiro 2853045e96
[Fix] Fix build multiple runners error (#348)
* fix build multiple runner error

* fix comments

* fix cpu ci
2022-07-05 20:35:06 +08:00
Mashiro 38e78d5549
[Fix] Fix ema hook and add unit test (#327)
* Fix ema hook and add unit test

* save state_dict of ema.module

save state_dict of ema.module

* replace warning.warn with MMLogger.warn

* fix as comment

* fix bug

* fix bug
2022-07-04 14:23:23 +08:00
Cedric Luo 9c55b4300c
[Enhance] Support dynamic interval (#342)
* support dynamic interval in iterbasedtrainloop

* update typehint

* update typehint

* add dynamic interval in epochbasedtrainloop

* update

* fix

Co-authored-by: luochunhua.vendor <luochunhua@pjlab.org.cn>
2022-06-30 15:08:56 +08:00
LeoXing1996 d65350a9da
[Fix] Fix bug of not save-best in iteration-based training (#341)
* fix bug of not save-best in iteration-based training

* revise the unit test
2022-06-30 14:51:31 +08:00
Mashiro 59b0ccfe6f
[Fix] Fix pytorch version compatibility of autocast (#339)
* fix unit test of autocast

* fix compatiblity of unit test of optimizerwrapper

* clean code

* fix as comment

* fix docstring
2022-06-29 20:30:53 +08:00
Mashiro 5ac3c23338
[Fix]: fix MMSeparateDistributedDataParallel (#338) 2022-06-28 22:20:20 +08:00
Mashiro d624fa9191
[Enhance] assert image shape before forward (#300)
* assert image shape before forward

* add unit test

* enhance error message

* allow gray image input

* fix as comment

* fix unit test

* fix unit test
2022-06-28 11:46:12 +08:00
Mashiro 2fd6beb972
[Fix] Fix UT of optimizer wrapper failed in pytorch1.6 (#340) 2022-06-28 10:31:14 +08:00