Basic curriculum (#198)

* feat: Add optional curriculum support to dataset registration and creation
* docs: Add docstrings to create_curriculum() and register_dataset()
* feat: Add curriculum configuration classes for CurriculumExperiment
* feat: Add weight parameter to CurriculumAttributeConfig and use in DatasetSpec
* refactor: Simplify CurriculumAttributeConfig with "*" attribute level support
* test: Add unit tests for CurriculumExperiment class
* feat: Add from_yaml() method to CurriculumExperimentConfig with unit test
This commit is contained in:
Andreas Köpf 2025-03-07 11:22:12 +01:00 committed by GitHub
parent 34889d0517
commit c2263979bc
29 changed files with 943 additions and 63 deletions

View file

@ -123,7 +123,7 @@ class ChainSumCurriculum(BaseCurriculum):
self._define_attributes(
RangeAttributeDefinition(
name="num_terms",
levels=[2, 3, 4, 5],
levels=list(range(2, 13)),
default_level=0, # Start with 2 terms
description="Maximum number of terms in the expression",
attr_type=AttributeType.APPEND,
@ -133,7 +133,7 @@ class ChainSumCurriculum(BaseCurriculum):
),
RangeAttributeDefinition(
name="num_digits",
levels=[1, 2, 4, 10],
levels=list(range(1, 11)),
default_level=0, # Start with 1-digit numbers
description="Number of digits in each operand",
attr_type=AttributeType.APPEND,
@ -145,4 +145,4 @@ class ChainSumCurriculum(BaseCurriculum):
# Register the dataset
register_dataset("chain_sum", ChainSumDataset, ChainSumConfig)
register_dataset("chain_sum", ChainSumDataset, ChainSumConfig, ChainSumCurriculum)