sage / eval /regression.py
sage002's picture
feat: rewrite SAGE 1B architecture and replace legacy repo contents
ef18673 verified
raw
history blame contribute delete
603 Bytes
"""Checkpoint-to-checkpoint regression checks."""
from __future__ import annotations
def compare_metrics(previous: dict[str, float], current: dict[str, float], threshold: float = 0.005) -> dict[str, object]:
"""Flag metric drops larger than the configured threshold."""
regressions: list[str] = []
for key, prev_value in previous.items():
curr_value = current.get(key)
if curr_value is None:
continue
if curr_value < prev_value * (1.0 - threshold):
regressions.append(key)
return {"regressions": regressions, "passed": not regressions}