opentau.utils.logging_utils
Utilities for tracking and logging training metrics.
This module provides classes for tracking metrics during training, including AverageMeter for computing running averages and MetricsTracker for managing multiple metrics with step tracking.
Classes
|
Computes and stores the average and current value. |
|
A helper class to track and log metrics over time. |
- class opentau.utils.logging_utils.AverageMeter(name: str, fmt: str = ':f')[source]
Bases:
objectComputes and stores the average and current value.
Adapted from https://github.com/pytorch/examples/blob/main/imagenet/main.py
- Parameters:
name – Name of the metric being tracked.
fmt – Format string for displaying the average value. Defaults to “:f”.
- class opentau.utils.logging_utils.MetricsTracker(batch_size: int, metrics: dict[str, AverageMeter], initial_step: int = 0)[source]
Bases:
objectA helper class to track and log metrics over time.
Usage pattern:
# initialize, potentially with non-zero initial step (e.g. if resuming run) metrics = {"loss": AverageMeter("loss", ":.3f")} train_metrics = MetricsTracker(cfg, dataset, metrics, initial_step=step) # update metrics derived from step (samples, episodes, epochs) at each training step train_metrics.step() # update various metrics loss = policy.forward(batch) train_metrics.loss = loss # display current metrics logging.info(train_metrics) # export for wandb wandb.log(train_metrics.to_dict()) # reset averages after logging train_metrics.reset_averages()
- __init__(batch_size: int, metrics: dict[str, AverageMeter], initial_step: int = 0)[source]
Initialize the metrics tracker.
- Parameters:
batch_size – Number of samples per gradient update.
metrics – Dictionary of metric names to AverageMeter instances.
initial_step – Starting step number (useful when resuming training). Defaults to 0.