* [Fix] Fix build unnecessary loop during train/test/val
* move unit test to runner
* Update unit test
* Fix unit test
* check train_loop is None
* update comment
* replace(type(None)) with is not None
* align the evaluation result in log
* align the evaluation result in log
* align the evaluation result in log
* align the evaluation result in log
* fix test log_processor
* [Enhance] Make sure the FileHandler still alive after
* Resume filter
* avoid bc
* Fix unit test
* clean the code
* revert changes and set mode from 'm' to 'a'
* mode to file_mode
* add comments
* refine comments
* Fix duplicated the
* [Enhance] Make sure the FileHandler still alive after
* minor refine
* minor refine
* refine unit test
* update CI
* update CI
* Fix CI
* fix build_windows
* fix build_windows
* fix build_windows
* fix build_windows
* debug
* debug
* debug
* debug
* debug
* debug
* debug
* test windows CI
* Fix
* Debug
* Fix unit test
* Fix unit test
* Fix CI
* update image version
* update action/checkout and action/setup-python
* add condition to skip test compile
* [Fix] Update CI and fix unit test
* check compiling by attempting compilation
* check compiling by attempting compilation
* check compiling by attempting compilation
* use windows-2022 in runs on
* Apply suggestions from code review
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
* update yml
* remove unnecessary assert
* assert grad is None according to the PyTorch version
* Fix code
---------
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
* Log with prefix
* Fix test of loggerhook
* minor refine
* minor refine
* Fix unit test
* clean the code
* deepcopy in method
* replace regex
* Fix as comment
* Enhance readable
* rename reserve_prefix to remove_prefix
* Fix as comment
* Refine unit test
* Adjust sequence
* clean the code
* clean the code
* revert renaming reserve prefix
* Count the dataloader length in _get_dataloader_size
* enable compile configurations to support torch.compile in Runner
* enable compilation in train, val and test
* fix as comments
* add docstring to illustrate usage
* minor refine error message
* add unittests
* fix ut skip
* add logging message to inform users
* compile `train_step`, `val_step`, `test_step` instead
* fix as comments
* revert to compile `train_step` only due to pt2 issue
* add documentation about torch.compile
* [Enhancement] Clear UT warning caused by pytest
* revert some changes for unittest
* revert
* update
* clear a numpy warning
* Update tests/test_visualizer/test_vis_backend.py
* fix a warning
* Add test of get_hooks_info()
* Change to use original Runner for get_hook_info() test
* Change to test after_train_iter hooks for get_hook_info()
* Complement the stages list
* Add logging hooks information in Runner.__init__()
* Rearrange the stages list
* Restore the stages to tuple type
* Clean the unnecessary changes
* Replace statement with TestCase's methods
* add test stages in method_stages_map
* change the hooks info into a f-string
* return list(trigger_stages) directly
* change keys of method_stages_map
* Fix previous changes to method_stages_map.keys
* Add runner test cast
* Fix unit test
* fix unit test
* pop None if key does not exist
* Fix is_model_wrapper and force register class in test_runner
* [Fix] Fix is_model_wrapper
* destroy group after ut
* register module in testcase
* fix as comment
* minor refine
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
* fix lint
Co-authored-by: Zaida Zhou <58739961+zhouzaida@users.noreply.github.com>
* First commit
* add BaseTestTimeAugModel
* Add unit test
* move loop logic to test_step
* fix ddp test
* rename model to module
* optim __init__
* Fix as comment
* Fix as comment
* make val_step should not be called
* make tta do not inherit base model
* Fix unit test
* Enhance docstring
* Fix as comment
* Fix as comment
* minor refine
* minor refine
* minor refine
* fix unit test
* minor refine
* minor refine
* minor refine
* minor refine
* minor refine
* minor refine
* fix unit test
* [Feature] Support convert BN to SyncBN by config
* make unit test compatible with cpu
* Fix as comment
* fix unit test
* change signature of convert_sync_batchnorm: rename sync_bn to implemention
* fix unit test
* fix unit test
* [Refactor]: modify interface of Visualizer.add_datasample (#365)
* [Refactor] Refactor data flow: refine `data_preprocessor`. (#359)
* refine data_preprocessor
* remove unused BATCH_DATA alias
* Fix type hints
* rename move_data to cast_data
* [Refactor] Refactor data flow: collate data in `collate_fn` of `DataLoader` (#323)
* acollate data in dataloader
* fix docstring
* refine comment
* fix as comment
* refactor default collate and psedo collate
* foramt test file
* fix docstring
* fix as comment
* rename elem to data_item
* minor fix
* fix as comment
* [Refactor] Refactor data flow: `data_batch` argument of `Evaluator.process is a `dict` (#360)
* refine evaluator and metric
* compatible with new default collate
* replace default collate with pseudo
* Handle data_batch in metric
* fix unit test
* fix unit test
* fix unit test
* minor refine
* make data_batch optional
make data_batch optional
* rename outputs to predictions
* fix ut
* rename predictions to outputs
* fix docstring
* fix docstring
* fix unit test
* make outputs and data_batch to kwargs
* fix unit test
* keep signature of metric
* fix ut
* rename pred_sample arguments to data_sample(Visualizer)
* fix loop and ut
* [refactor]: Refactor model dataflow (#398)
* [Refactor] Refactor data flow: refine `data_preprocessor`. (#359)
* refine data_preprocessor
* remove unused BATCH_DATA alias
* Fix type hints
* rename move_data to cast_data
* refactor model data flow
tmp_commt
tmp commit
* make val_cfg and test_cfg optional
* roll back runner
* pass test mmdet
* fix as comment
fix as comment
fix ci in DataPreprocessor
* fix ut
* fix ut
* fix rebase main
* [Fix]: Fix test val ddp (#462)
* [Fix] Fix docstring and type hint of data flow (#463)
* Fix docstring of data flow
* change signature of hook
* fix unit test
* resolve conflicts
* fix lint
* 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
* 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
* 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
* [Enhance] Auto set the `end` of param schedulers.
* Add log output and unit test
* Update docstring
* Update unit tests of `CosineAnnealingParamScheduler`.