def _format_message(self, state: State): message = [""] mode_metrics = utils.split_dict_to_subdicts( dct=state.epoch_metrics, prefixes=list(state.loaders.keys()), extra_key="_base", ) metrics = self._format_metrics(mode_metrics) for key, value in metrics.items(): message.append(f"{state.epoch}/{state.num_epochs} " f"* Epoch {state.global_epoch} ({key}): {value}") message = "\n".join(message) return message
def on_epoch_end(self, state: State): """Translate epoch metrics to Weights & Biases""" extra_mode = "_base" splitted_epoch_metrics = utils.split_dict_to_subdicts( dct=state.epoch_metrics, prefixes=list(state.loaders.keys()), extra_key=extra_mode, ) if self.log_on_epoch_end: self._log_metrics(metrics=splitted_epoch_metrics[extra_mode], step=state.global_epoch, mode=extra_mode, suffix=self.epoch_log_suffix, commit=True)
def on_epoch_end(self, runner: IRunner): """Translate epoch metrics to Alchemy.""" extra_mode = "_base" splitted_epoch_metrics = utils.split_dict_to_subdicts( dct=runner.epoch_metrics, prefixes=list(runner.loaders.keys()), extra_key=extra_mode, ) if self.log_on_epoch_end: self._log_metrics( metrics=splitted_epoch_metrics[extra_mode], step=runner.global_epoch, mode=extra_mode, suffix=self.epoch_log_suffix, )
def on_epoch_end(self, runner: IRunner): """Translate epoch metrics to Weights & Biases.""" extra_mode = "_base" splitted_epoch_metrics = utils.split_dict_to_subdicts( dct=runner.epoch_metrics, prefixes=list(runner.loaders.keys()), extra_key=extra_mode, ) if self.log_on_epoch_end: if extra_mode in splitted_epoch_metrics.keys(): # if we are using OptimizerCallback self._log_metrics( metrics=splitted_epoch_metrics[extra_mode], step=runner.global_epoch, mode=extra_mode, suffix=self.epoch_log_suffix, commit=True, )
def on_epoch_end(self, state: "State"): """Translate epoch metrics to tensorboard""" if state.logdir is None: return if self.log_on_epoch_end: per_mode_metrics = utils.split_dict_to_subdicts( dct=state.epoch_metrics, prefixes=list(state.loaders.keys()), extra_key="_base", ) for mode, metrics in per_mode_metrics.items(): # suffix = "" if mode == "_base" else "/epoch" self._log_metrics( metrics=metrics, step=state.global_epoch, mode=mode, suffix="/epoch", ) for logger in self.loggers.values(): logger.flush()