simonycl's picture
Upload folder using huggingface_hub
b2ebc95 verified
Raw
History Blame Contribute Delete
901 Bytes
#!/usr/bin/env python3
"""Count graded episodes in a run dir. `eval --resume` appends to the same traces.jsonl, so
log-line counts undercount across resumes — this is the number that actually matters."""
import json, os, sys
# `-n` prints just the graded count, one per line. Needed because a naive
# `grep -o 'graded= *[0-9]*'` also matches the "ungraded=" field and returns two numbers.
QUIET = "-n" in sys.argv
for d in [a for a in sys.argv[1:] if a != "-n"]:
p = os.path.join(d, "traces.jsonl")
graded = ungraded = 0
if os.path.exists(p):
for line in open(p):
for t in json.loads(line).get("traces", []):
if t.get("rewards"):
graded += 1
else:
ungraded += 1
if QUIET:
print(graded)
else:
print(f"{os.path.basename(d):18s} graded={graded:4d} ungraded={ungraded:4d}")