from typing import Any
from .logger import (
AlgProtocol,
LoggerAdapter,
LoggerAdapterFactory,
SaveProtocol,
)
__all__ = ["NoopAdapter", "NoopAdapterFactory"]
[docs]class NoopAdapter(LoggerAdapter):
r"""NoopAdapter class.
This class does not save anything. This can be used especially when programs
are not allowed to write things to disks.
"""
[docs] def write_params(self, params: dict[str, Any]) -> None:
pass
[docs] def before_write_metric(self, epoch: int, step: int) -> None:
pass
[docs] def write_metric(
self, epoch: int, step: int, name: str, value: float
) -> None:
pass
[docs] def after_write_metric(self, epoch: int, step: int) -> None:
pass
[docs] def save_model(self, epoch: int, algo: SaveProtocol) -> None:
pass
[docs] def close(self) -> None:
pass
[docs] def watch_model(
self,
epoch: int,
step: int,
) -> None:
pass
[docs]class NoopAdapterFactory(LoggerAdapterFactory):
r"""NoopAdapterFactory class.
This class instantiates ``NoopAdapter`` object.
"""
[docs] def create(
self, algo: AlgProtocol, experiment_name: str, n_steps_per_epoch: int
) -> NoopAdapter:
return NoopAdapter()