ml.loggers.meter

Defines a metered logger.

This logger keeps track of statistics of logged values. It is useful for getting global statistics during evaluation.

ml.loggers.meter.get_value(value: int | float | Tensor) int | float[source]
class ml.loggers.meter.MeterLoggerConfig(name: str = '???', write_every_n_seconds: float | None = None, write_train_every_n_seconds: float | None = None, write_val_every_n_seconds: float | None = None)[source]

Bases: BaseLoggerConfig

class ml.loggers.meter.MeterLogger(config: MeterLoggerConfig)[source]

Bases: BaseLogger[MeterLoggerConfig]

get_meter(state: State, key: str, namespace: str | None) Meter[source]
log_scalar(key: str, value: Callable[[], int | float | Tensor], state: State, namespace: str) None[source]

Logs a scalar value.

Parameters:
  • key – The key to log

  • value – The value to log

  • state – The current log state

  • namespace – The namespace to be logged

iter_meters() Iterable[Meter][source]
get_value_dict() dict[str, int | float][source]
write(state: State) None[source]

Writes the logs.

Parameters:

state – The current log state

default_write_every_n_seconds(state: State) float[source]

Returns the default write interval in seconds.

Parameters:

state – The state to get the default write interval for

Returns:

The default write interval, in seconds