synapse-x / scripts /report.py
Nithin1026's picture
Initial submission Synapse-X
cb330aa
Raw
History Blame Contribute Delete
1.06 kB
#!/usr/bin/env python3
"""
Aggregate multi-run evaluation report for SYNAPSE-X.
"""
import json
import sys
from pathlib import Path
from statistics import mean, stdev
PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
sys.path.insert(0, str(PROJECT_ROOT))
from scripts.inference import run_episode
def evaluate(level: str, runs: int = 20, start_seed: int = 42):
scores = [run_episode(level, seed=start_seed + idx, verbose=False) for idx in range(runs)]
return {
"mean": round(mean(scores), 4),
"std": round(stdev(scores) if len(scores) > 1 else 0.0, 4),
"min": round(min(scores), 4),
"max": round(max(scores), 4),
}
def main():
report = {}
for level in ["easy", "medium", "hard"]:
stats = evaluate(level, runs=20)
report[level] = stats
print(f"{level}: {stats}")
with open(PROJECT_ROOT / "report_results.json", "w", encoding="utf-8") as handle:
json.dump(report, handle, indent=2)
if __name__ == "__main__":
main()