| 12 | class EvalHook(BaseEvalHook): |
| 13 | |
| 14 | def __init__(self, |
| 15 | dataloader, |
| 16 | start=None, |
| 17 | interval=1, |
| 18 | by_epoch=True, |
| 19 | save_best=None, |
| 20 | rule=None, |
| 21 | test_fn=None, |
| 22 | greater_keys=mogen_GREATER_KEYS, |
| 23 | less_keys=mogen_LESS_KEYS, |
| 24 | **eval_kwargs): |
| 25 | if test_fn is None: |
| 26 | from mogen.apis import single_gpu_test |
| 27 | test_fn = single_gpu_test |
| 28 | |
| 29 | # remove "gpu_collect" from eval_kwargs |
| 30 | if 'gpu_collect' in eval_kwargs: |
| 31 | warnings.warn( |
| 32 | '"gpu_collect" will be deprecated in EvalHook.' |
| 33 | 'Please remove it from the config.', DeprecationWarning) |
| 34 | _ = eval_kwargs.pop('gpu_collect') |
| 35 | |
| 36 | # update "save_best" according to "key_indicator" and remove the |
| 37 | # latter from eval_kwargs |
| 38 | if 'key_indicator' in eval_kwargs or isinstance(save_best, bool): |
| 39 | warnings.warn( |
| 40 | '"key_indicator" will be deprecated in EvalHook.' |
| 41 | 'Please use "save_best" to specify the metric key,' |
| 42 | 'e.g., save_best="pa-mpjpe".', DeprecationWarning) |
| 43 | |
| 44 | key_indicator = eval_kwargs.pop('key_indicator', None) |
| 45 | if save_best is True and key_indicator is None: |
| 46 | raise ValueError('key_indicator should not be None, when ' |
| 47 | 'save_best is set to True.') |
| 48 | save_best = key_indicator |
| 49 | |
| 50 | super().__init__(dataloader, start, interval, by_epoch, save_best, |
| 51 | rule, test_fn, greater_keys, less_keys, **eval_kwargs) |
| 52 | |
| 53 | def evaluate(self, runner, results): |
| 54 | |