Shortcuts

Source code for catalyst.core.logger

from typing import Any, Dict, TYPE_CHECKING

import numpy as np

if TYPE_CHECKING:
    from catalyst.core.runner import IRunner


[docs]class ILogger: """An abstraction that syncs experiment run with monitoring tools. Args: log_batch_metrics: boolean flag to log batch metrics. log_epoch_metrics: boolean flag to log epoch metrics. Abstraction, please check out implementations for more details: - :py:mod:`catalyst.loggers.console.ConsoleLogger` - :py:mod:`catalyst.loggers.mlflow.MLflowLogger` - :py:mod:`catalyst.loggers.neptune.NeptuneLogger` - :py:mod:`catalyst.loggers.tensorboard.TensorboardLogger` """ def __init__(self, log_batch_metrics: bool, log_epoch_metrics: bool) -> None: self._log_batch_metrics = log_batch_metrics self._log_epoch_metrics = log_epoch_metrics @property def logger(self) -> Any: """Internal logger/experiment/etc. from the monitoring system. # noqa: DAR401 Returns: # noqa: DAR201, DAR202 Any: internal logger/experiment/etc. from the monitoring system. """ raise NotImplementedError() @property def log_batch_metrics(self) -> bool: """Boolean flag to log batch metrics. Returns: bool: boolean flag to log batch metrics. """ return self._log_batch_metrics @property def log_epoch_metrics(self) -> bool: """Boolean flag to log epoch metrics. Returns: bool: boolean flag to log epoch metrics. """ return self._log_epoch_metrics
[docs] def log_artifact( self, tag: str, runner: "IRunner", artifact: object = None, path_to_artifact: str = None, scope: str = None, ) -> None: """Logs artifact (arbitrary file like audio, video, etc) to the logger.""" pass
[docs] def log_image( self, tag: str, image: np.ndarray, runner: "IRunner", scope: str = None, ) -> None: """Logs image to the logger.""" pass
[docs] def log_hparams(self, hparams: Dict, runner: "IRunner" = None) -> None: """Logs hyperparameters to the logger.""" pass
[docs] def log_metrics( self, metrics: Dict[str, float], scope: str, runner: "IRunner", ) -> None: """Logs metrics to the logger.""" pass
[docs] def flush_log(self) -> None: """Flushes the logger.""" pass
[docs] def close_log(self) -> None: """Closes the logger.""" pass
__all__ = ["ILogger"]