dice curriculum (#284)

* curriculum + unit tests
* add difficulty to metadata

---------

Co-authored-by: Andreas Koepf <andreas.koepf@provisio.com>
This commit is contained in:
vncntt 2025-03-07 16:43:45 -08:00 committed by GitHub
parent 8c80bf6bec
commit 7199363339
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 59 additions and 5 deletions

View file

@ -1,6 +1,6 @@
import pytest
from reasoning_gym.arithmetic.dice import DiceConfig, DiceDataset
from reasoning_gym.arithmetic.dice import DiceConfig, DiceCurriculum, DiceDataset
def test_dice():
@ -33,3 +33,22 @@ def test_dice():
for item in dataset:
assert dataset.score_answer(answer=item["answer"], entry=item) == 1.0
assert dataset.score_answer(answer=None, entry=item) == 0.0
def test_dice_curriculum():
"""Test that the curriculum generates correct configurations"""
curriculum = DiceCurriculum()
base_value = {"size": 150, "seed": 1}
base_cfg: DiceConfig = curriculum.generate_configuration(base_value)
assert base_cfg.size == 150
assert base_cfg.seed == 1
assert base_cfg.num_dice == 4
assert base_cfg.max_dice_size == 20
curriculum.increment_attr_level("num_dice")
curriculum.increment_attr_level("max_dice_size")
increased_cfg: DiceConfig = curriculum.generate_configuration()
assert increased_cfg.num_dice == 5
assert increased_cfg.max_dice_size == 25