Refactor Curriculum Attributes (#335)

* remove min_value from AttributeDefinition
* remove type from AttributeDefinition
* Add CurriculumContext
* add ensure_interval option for RangeAttributes
* docs: Add legend explaining curriculum indicators in dataset gallery
* update GALLERY.md
This commit is contained in:
Andreas Köpf 2025-03-16 15:40:28 +01:00 committed by GitHub
parent 4e7d9296ee
commit d2c895f1d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
101 changed files with 286 additions and 677 deletions

View file

@ -4,7 +4,7 @@ from dataclasses import dataclass
from random import Random
from typing import Any, Optional
from ..coaching import AttributeType, BaseCurriculum, RangeAttributeDefinition, ScalarAttributeDefinition
from ..coaching import BaseCurriculum, RangeAttributeDefinition, ScalarAttributeDefinition
from ..factory import ProceduralDataset, register_dataset
QUESTION_TEMPLATE = """Your task is to pick the largest/smallest number out of several options.
@ -115,31 +115,24 @@ class NumberFormatCurriculum(BaseCurriculum):
RangeAttributeDefinition(
name="num_candidates",
levels=[5, 25, 100, 500],
default_level=1,
description="Number of candidates",
attr_type=AttributeType.APPEND,
min_value=1,
lower_field_name="min_num_candidates",
upper_field_name="max_num_candidates",
ensure_interval=True,
),
RangeAttributeDefinition(
name="n",
levels=[10, 1_000, 1_000_000, 1_000_000_000],
default_level=1,
description="Magnitude of the values",
attr_type=AttributeType.APPEND,
min_value=1,
lower_field_name="min_n",
upper_field_name="max_n",
ensure_interval=True,
),
ScalarAttributeDefinition(
name="max_delta",
field_name="max_delta",
levels=[1e1, 1e0, 1e-3, 1e-6],
default_level=0,
description="Max delta",
attr_type=AttributeType.STATIC,
min_value=1e-6,
),
)