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

@ -5,7 +5,7 @@ from typing import Any, Optional
import cellpylib as cpl
from ..coaching import AttributeType, BaseCurriculum, ScalarAttributeDefinition
from ..coaching import BaseCurriculum, ScalarAttributeDefinition
from ..factory import ProceduralDataset, register_dataset
@ -163,38 +163,26 @@ class GameOfLifeCurriculum(BaseCurriculum):
name="grid_size_x",
field_name="grid_size_x",
levels=[10, 100, 500, 999],
default_level=0,
description="Grid size in the x direction",
attr_type=AttributeType.STATIC,
min_value=10,
),
ScalarAttributeDefinition(
name="grid_size_y",
field_name="grid_size_y",
levels=[10, 100, 500, 999],
default_level=0,
description="Grid size in the y direction",
attr_type=AttributeType.STATIC,
min_value=-10,
),
# Filled cells should be 10%, 20%, 30%, 50% of the grid_size_x * grid_size_y
ScalarAttributeDefinition(
name="filled_cells_weights",
field_name="filled_cells_weights",
levels=[0.1, 0.2, 0.5, 0.8],
default_level=0,
description="Percentage of filled cells in the grid",
attr_type=AttributeType.STATIC,
min_value=0.1,
),
ScalarAttributeDefinition(
name="simulation_steps",
field_name="simulation_steps",
levels=[1, 2, 5, 10],
default_level=0,
description="Number of simulation steps to run",
attr_type=AttributeType.STATIC,
min_value=1,
),
)