123456789101112131415161718192021 |
- from __future__ import annotations
-
- import logging
- from typing import TYPE_CHECKING
-
- if TYPE_CHECKING:
- from torch.utils.tensorboard import SummaryWriter
-
-
- class TensorBoardHandler(logging.Handler):
- """Convert each log record into a TensorBoard text summary."""
-
- def __init__(self, writer: SummaryWriter, tag: str = "logs"):
- super().__init__(level=logging.INFO)
- self.writer = writer
- self.tag = tag
- self._step = 0 # will be incremented every emit
-
- def emit(self, record: logging.LogRecord) -> None:
- self.writer.add_text(self.tag, self.format(record), global_step=self._step)
- self._step += 1
|