in scripts/eval_all.py [0:0]
def download_and_eval_all(num_threads):
data = []
downloaded = download_all()
for params, net_path in downloaded:
epoch = params.pop("epoch")
metrics = run_eval(
net_path, num_threads=num_threads, num_repeats=NUM_REPEATS, **params
)
data.append(
dict(
eval_type="full",
exploitability=float(metrics["full_tree"]),
epoch=epoch,
**params,
)
)
data.append(
dict(
eval_type="rebel",
exploitability=float(metrics[f"repeated toleaf {NUM_REPEATS}"]),
epoch=epoch,
**params,
)
)
if pd is not None:
df = pd.DataFrame(data)
print("Average exploitability over 3 epochs")
print(
df.pivot_table(
"exploitability", ["eval_type", "solver"], ["num_dice", "num_faces"]
)
)
else:
for row in data:
print(row)