Spaces:
Configuration error
Configuration error
| # stratego/benchmarking/summary_csv_logger.py | |
| import csv | |
| import os | |
| from datetime import datetime | |
| OUTPUT_DIR = "stratego/benchmarking/output/summaries" | |
| def write_summary_csv( | |
| summary: dict, | |
| games: int, | |
| size: int, | |
| model_p0: str, | |
| model_p1: str, | |
| source_benchmark_csv: str | |
| ): | |
| os.makedirs(OUTPUT_DIR, exist_ok=True) | |
| timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S") | |
| filename = f"summary_{timestamp}_{games}games.csv" | |
| with open(os.path.join(OUTPUT_DIR, filename), "w", newline="", encoding="utf-8") as f: | |
| writer = csv.writer(f) | |
| writer.writerow([ | |
| "games", | |
| "board_size", | |
| "model_p0", | |
| "model_p1", | |
| "source_benchmark_csv", | |
| "wins_p0", | |
| "wins_p1", | |
| "draws", | |
| "win_rate_p0", | |
| "win_rate_p1", | |
| "ended_invalid", | |
| "ended_flag", | |
| "ended_no_moves", | |
| "ended_turn_limit", | |
| "avg_game_length", | |
| "avg_invalid_moves_p0", | |
| "avg_invalid_moves_p1", | |
| "avg_repetitions" | |
| ]) | |
| writer.writerow([ | |
| games, | |
| size, | |
| model_p0, | |
| model_p1, | |
| source_benchmark_csv, | |
| summary["Wins P0"], | |
| summary["Wins P1"], | |
| summary["Draws"], | |
| summary["Win Rate P0"], | |
| summary["Win Rate P1"], | |
| summary["Ended by Invalid Move"], | |
| summary["Ended by Flag"], | |
| summary["Ended by No Moves"], | |
| summary["Ended by Turn Limit"], | |
| summary["Avg Game Length"], | |
| summary["Avg Invalid Moves P0"], | |
| summary["Avg Invalid Moves P1"], | |
| summary["Avg Repetitions"] | |
| ]) | |