se3labs.interface.eval.definitionTask Definitions
Task definitions sample semantic parameters once, realize an initial layout,
and render a concrete Task_Spec for one episode. Parameters and geometry
use independent random streams. Save the resulting tasks to repeat an
evaluation with the same instructions, layouts, and scoring questions.
TaskParameters
TaskParameters()
Typed semantic values; subclasses enforce their task's domain constraints.
Methods
record() -> dict[str, Task_ParameterValue]#
P
P = TypeVar('P', bound=TaskParameters)
TaskDefinition
Authoring API; only the concrete result of sample goes to the station.
Attributes
name: str#-
Canonical task ID, matching the documentation and sampled
Task_Spec.name. layout: LayoutSpec#max_rollout_time: float#
Methods
sample_parameters(random: Random) -> P#-
Draw a valid assignment, including distinctness and order constraints.
task(parameters: P, max_rollout_time: float) -> Task_Spec#-
Render setup, policy instruction, and scoring from the same assignment.
sample(seed: int, *, max_rollout_time: float | None = None, parameters: P | None = None, max_attempts: int = 10000) -> Task_Spec#-
Realize an episode. An explicit parameter assignment overrides its random draw.
The definition supplies the time limit unless explicitly overridden. Geometry retries never change the semantic assignment.
sample_set(seed: int, *, episodes: int, max_rollout_time: float | None = None) -> tuple[Task_Spec, ...]#-
Generate a reproducible episode set to reuse across policies.