logging

The logging config group allows to modify the logging behaviour of mml. Next to sum options at the top level, there are three sub-configurations:

  • exp_logger will determine the experiment logger used by lightning

  • notifier will determine whether and how certain events will be messaged

  • render will determine the rendering backend for logging

default

The default top level configuration is stored in log.yaml.

highlight_text
default: True
  • enables the highlight text feature of the base AbstractBaseScheduler, colouring specific parts of logs

  • see highlight_text()

capture_warnings
default: True
samples
default: 0
  • logs example images with prediction and reference to oversee training progress (once per epoch and phase)

  • examples will be logged only to tensorboard logger currently

  • see log_images_prediction_reference()

cm
default: false
  • whether to log the epochs confusion matrix

  • confusion matrix will be logged only to tensorboard logger currently

  • see log_confusion_matrix()

exp_logger

Currently mml only provides a config for tensorboard.

tensorboard

_target_
default: TensorBoardLogger
save_dir
default: ${proj_path}/tensorboard
  • the directory to store the logs in (${proj_path} will be replaced by hydra

name
default: ${now:%Y-%m-%d}/${now:%H-%M-%S}
  • the experiment sub-directory

  • will be interpolated by hydra to current time

version
default: None (literally)
  • to be specified during runtime

  • this will be the active_step_naming of the scheduler

  • see create_trainer() for more on this

notifier

mml ships with two notifiers, but can easily be extended. There are three configuration files: none.yaml (the default, which does not provide any notifier), slack.yaml which allows notification via Slack and email.yaml for email notification. Multiple notifiers can be combined via logging/notifier=[email,slack]. For each notifier you can independently determine the events to send notifications (e.g. logging.notifier.slack.on_start=true).

slack

slack
_target_
default: SlackNotifier
  • a notifier that sends slack messages

on_start
default: False
  • whether to send messages on mml start

on_end
default: False
  • whether to send messages on mml end

on_failure
default: False
  • whether to send messages on mml failure

email

email
_target_
default: EMailNotifier
  • a notifier that sends email messages

on_start
default: False
  • whether to send messages on mml start

on_end
default: False
  • whether to send messages on mml end

on_failure
default: False
  • whether to send messages on mml failure

render

The backend for rendering the logs. Can be either colorlog or rich. The default is colorlog and support for rich might not be as throughout as for colorlog. Change the renderer via logging/render=rich.