nemo_automodel.components.loggers.metric_logger#

Module Contents#

Classes#

MetricsSample

MetricLogger

Simple JSON Lines logger.

MetricLoggerDist

Functions#

API#

class nemo_automodel.components.loggers.metric_logger.MetricsSample#
step: int#

None

epoch: int#

None

metrics: Dict[str, float]#

‘field(…)’

timestamp: str#

None

to_dict() Dict[str, Any]#
__post_init__()#
nemo_automodel.components.loggers.metric_logger.stack_and_move_tensor_metrics_to_cpu(
metric_vector: List[nemo_automodel.components.loggers.metric_logger.MetricsSample],
) List[nemo_automodel.components.loggers.metric_logger.MetricsSample]#
class nemo_automodel.components.loggers.metric_logger.MetricLogger(
filepath: str,
*,
flush: bool = False,
append: bool = True,
buffer_size: int = 100,
)#

Simple JSON Lines logger.

  • Appends one JSON object per line.

  • Thread-safe writes via an internal lock.

  • Creates parent directories as needed.

  • UTF-8 without BOM, newline per record.

Initialization

log(
record: nemo_automodel.components.loggers.metric_logger.MetricsSample,
) None#
_move_to_cpu(
buffer: List[nemo_automodel.components.loggers.metric_logger.MetricsSample],
) List[nemo_automodel.components.loggers.metric_logger.MetricsSample]#
_save(lines: List[str]) None#
close() None#
__enter__() nemo_automodel.components.loggers.metric_logger.MetricLogger#
__exit__(exc_type, exc, tb) None#
class nemo_automodel.components.loggers.metric_logger.MetricLoggerDist(
filepath: str,
*,
flush: bool = False,
append: bool = True,
)#

Bases: nemo_automodel.components.loggers.metric_logger.MetricLogger