Surrogate Epoch Metrics¶
The SurrogateEpochMetrics dataclass records training statistics for a single epoch of
surrogate model training, such as loss values and learning rate. These are produced by model
implementations (e.g. MLPModel) during training and can be used for diagnostics and
early stopping decisions.
- class alf_core.dataclasses.surrogate_epoch_metrics.SurrogateEpochMetrics(epoch, train_loss, val_loss=None, additional_metrics=<factory>)[source]¶
Bases:
objectPer-epoch training metrics for a surrogate model.
Explicit fields cover the standard required metrics. The
additional_metricsdict holds model-specific metrics (e.g. spearman, mse) and any other optional values.Nonevalues are excluded when converting to a flat dict, so backends only receive metrics that were actually computed.- epoch¶
Zero-based epoch index.
- train_loss¶
Training loss for this epoch.
- val_loss¶
Validation loss, or None if no validation data was provided.
- additional_metrics¶
Model-specific metrics (e.g.
train_spearman,val_spearman,train_mse,val_mse) passed through to backends.
- additional_metrics: dict[str, float]¶
- epoch: int¶
- to_metrics_dict()[source]¶
Return a flat dict of non-None metric values merged with additional_metrics.
- Return type:
dict[str,int|float]- Returns:
Flat dict with
epoch(as float),train_loss, any non-None optional fields, and all entries fromadditional_metrics.
- train_loss: float¶
- val_loss: float | None = None¶