CounterFeint / graders /__init__.py
QuantumTransformer's picture
Upload folder using huggingface_hub
26bf1c9 verified
Raw
History Blame Contribute Delete
926 Bytes
"""Graders for scoring agent performance on each task."""
from .base_grader import grade_episode
from .task1_grader import Task1Grader
from .task2_grader import Task2Grader
from .task3_grader import Task3Grader
# task_3_unseen reuses Task3Grader: it has the same template universe,
# verdict/network scoring, and grading criteria as task_3. The only thing
# that differs is the TaskConfig budget regime (queue_size, action_budget,
# n_fraud_rings), which is consumed by the data generator, not the grader.
# Registering it here lets eval_suite drive task_3_unseen episodes through
# the same grade_episode() lookup with no special-casing downstream.
_task3_grader = Task3Grader()
GRADERS = {
"task_1": Task1Grader(),
"task_2": Task2Grader(),
"task_3": _task3_grader,
"task_3_unseen": _task3_grader,
}
__all__ = ["grade_episode", "Task1Grader", "Task2Grader", "Task3Grader", "GRADERS"]