Shortcuts

LoggerHook

class mmengine.hooks.LoggerHook(interval=10, ignore_last=True, interval_exp_name=1000, out_dir=None, out_suffix=('.json', '.log', '.py', 'yaml'), keep_local=True, file_client_args=None, log_metric_by_epoch=True, backend_args=None)[source]

Collect logs from different components of Runner and write them to terminal, JSON file, tensorboard and wandb .etc.

LoggerHook is used to record logs formatted by LogProcessor during training/validation/testing phase. It is used to control following behaviors:

  • The frequency of logs update in terminal, local, tensorboad wandb.etc.

  • The frequency of show experiment information in terminal.

  • The work directory to save logs.

Parameters
  • interval (int) – Logging interval (every k iterations). Defaults to 10.

  • ignore_last (bool) – Ignore the log of last iterations in each epoch if the number of remaining iterations is less than interval. Defaults to True.

  • interval_exp_name (int) – Logging interval for experiment name. This feature is to help users conveniently get the experiment information from screen or log file. Defaults to 1000.

  • out_dir (str or Path, optional) – The root directory to save checkpoints. If not specified, runner.work_dir will be used by default. If specified, the out_dir will be the concatenation of out_dir and the last level directory of runner.work_dir. For example, if the input our_dir is ./tmp and runner.work_dir is ./work_dir/cur_exp, then the log will be saved in ./tmp/cur_exp. Defaults to None.

  • out_suffix (Tuple[str] or str) – Those files in runner._log_dir ending with out_suffix will be copied to out_dir. Defaults to (‘json’, ‘.log’, ‘.py’).

  • keep_local (bool) – Whether to keep local logs in the local machine when out_dir is specified. If False, the local log will be removed. Defaults to True.

  • file_client_args (dict, optional) – Arguments to instantiate a FileClient. See mmengine.fileio.FileClient for details. Defaults to None. It will be deprecated in future. Please use backend_args instead.

  • log_metric_by_epoch (bool) – Whether to output metric in validation step by epoch. It can be true when running in epoch based runner. If set to True, after_val_epoch will set step to self.epoch in runner.visualizer.add_scalars. Otherwise step will be self.iter. Default to True.

  • backend_args (dict, optional) – Arguments to instantiate the preifx of uri corresponding backend. Defaults to None. New in v0.2.0.

Examples

>>> # The simplest LoggerHook config.
>>> logger_hook_cfg = dict(interval=20)
after_run(runner)[source]

Copy logs to self.out_dir if self.out_dir is not None

Parameters

runner (Runner) – The runner of the training/testing/validation process.

Return type

None

after_test_epoch(runner, metrics=None)[source]

All subclasses should override this method, if they need any operations after each test epoch.

Parameters
  • runner (Runner) – The runner of the testing process.

  • metrics (Dict[str, float], optional) – Evaluation results of all metrics on test dataset. The keys are the names of the metrics, and the values are corresponding results.

Return type

None

after_test_iter(runner, batch_idx, data_batch=None, outputs=None)[source]

Record logs after testing iteration.

Parameters
  • runner (Runner) – The runner of the testing process.

  • batch_idx (int) – The index of the current batch in the test loop.

  • data_batch (dict or tuple or list, optional) – Data from dataloader.

  • outputs (sequence, optional) – Outputs from model.

Return type

None

after_train_iter(runner, batch_idx, data_batch=None, outputs=None)[source]

Record logs after training iteration.

Parameters
  • runner (Runner) – The runner of the training process.

  • batch_idx (int) – The index of the current batch in the train loop.

  • data_batch (dict tuple or list, optional) – Data from dataloader.

  • outputs (dict, optional) – Outputs from model.

Return type

None

after_val_epoch(runner, metrics=None)[source]

All subclasses should override this method, if they need any operations after each validation epoch.

Parameters
  • runner (Runner) – The runner of the validation process.

  • metrics (Dict[str, float], optional) – Evaluation results of all metrics on validation dataset. The keys are the names of the metrics, and the values are corresponding results.

Return type

None

after_val_iter(runner, batch_idx, data_batch=None, outputs=None)[source]

Record logs after validation iteration.

Parameters
  • runner (Runner) – The runner of the validation process.

  • batch_idx (int) – The index of the current batch in the validation loop.

  • data_batch (dict or tuple or list, optional) – Data from dataloader. Defaults to None.

  • outputs (sequence, optional) – Outputs from model.

Return type

None

before_run(runner)[source]

Infer self.file_client from self.out_dir. Initialize the self.start_iter and record the meta information.

Parameters

runner (Runner) – The runner of the training process.

Return type

None

Read the Docs v: v0.3.0
Versions
latest
stable
v0.5.0
v0.4.0
v0.3.0
v0.2.0
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.