DarshanScripts commited on
Commit
325bfbd
·
verified ·
1 Parent(s): 5899740

Upload stratego/benchmarking/summary_writer.py with huggingface_hub

Browse files
stratego/benchmarking/summary_writer.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # stratego/benchmarking/summary_csv_logger.py
2
+
3
+ import csv
4
+ import os
5
+ from datetime import datetime
6
+
7
+ OUTPUT_DIR = "stratego/benchmarking/output/summaries"
8
+
9
+
10
+ def write_summary_csv(
11
+ summary: dict,
12
+ games: int,
13
+ size: int,
14
+ model_p0: str,
15
+ model_p1: str,
16
+ source_benchmark_csv: str
17
+ ):
18
+ os.makedirs(OUTPUT_DIR, exist_ok=True)
19
+
20
+ timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
21
+ filename = f"summary_{timestamp}_{games}games.csv"
22
+
23
+ with open(os.path.join(OUTPUT_DIR, filename), "w", newline="", encoding="utf-8") as f:
24
+ writer = csv.writer(f)
25
+
26
+ writer.writerow([
27
+ "games",
28
+ "board_size",
29
+ "model_p0",
30
+ "model_p1",
31
+ "source_benchmark_csv",
32
+ "wins_p0",
33
+ "wins_p1",
34
+ "draws",
35
+ "win_rate_p0",
36
+ "win_rate_p1",
37
+ "ended_invalid",
38
+ "ended_flag",
39
+ "ended_no_moves",
40
+ "ended_turn_limit",
41
+ "avg_game_length",
42
+ "avg_invalid_moves_p0",
43
+ "avg_invalid_moves_p1",
44
+ "avg_repetitions"
45
+ ])
46
+
47
+ writer.writerow([
48
+ games,
49
+ size,
50
+ model_p0,
51
+ model_p1,
52
+ source_benchmark_csv,
53
+ summary["Wins P0"],
54
+ summary["Wins P1"],
55
+ summary["Draws"],
56
+ summary["Win Rate P0"],
57
+ summary["Win Rate P1"],
58
+ summary["Ended by Invalid Move"],
59
+ summary["Ended by Flag"],
60
+ summary["Ended by No Moves"],
61
+ summary["Ended by Turn Limit"],
62
+ summary["Avg Game Length"],
63
+ summary["Avg Invalid Moves P0"],
64
+ summary["Avg Invalid Moves P1"],
65
+ summary["Avg Repetitions"]
66
+ ])