* [Feature] Support setting start epoch and interval epoch for PAVI Logger Hook
* [Feature] Update the coding style as the maintainer wish
* fix: default integer division or modulo by zero
* fix: runner.epoch is less than start and use self.get_epoch instead of runner.epoch
* feat: support for iter-based runner and fix the step bug
* feat: iter based hook
* feat: fix bug and coding style
* fix: coding style
* fix: coding style
* fix: graph may add in evaluation
* update support for linearly learning rate decay
* Fix LinearAnnealingLrUpdaterHook, update LinearAnnealingMomentumUpdaterHook, add unit test
add docstring
add docstring
update linear lr momentum schedule test
fix ci
Fix CI
* add lr and momentum hook to runner and hooks package
add lr and momentum hook to runner and hooks package
* replace multi_optimziers with multi_optimizers
Co-authored-by: HAOCHENYE <21724054@zju.edu.cn>
Co-authored-by: Mashiro <57566630+HAOCHENYE@users.noreply.github.com>
* detect detect_anomalous_params
* fix default value
* merge two case
* fix none case
* add unitest
* fix typo
* change level to error
* fix type
* add more details in docstr
* 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>
* 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>
* [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
* 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.
* 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
* 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
* 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.
* 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.
* 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
* support clipping min_lr in StepLrUpdaterHook
* add docstring for StepLrUpdaterHook
* fix small bugs
* add unit test for StepLrUpdaterHook
* fix linting error
* [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