CurriculumScheduleScenario
Data scenarios · Implementation: mlsysim/engine/scenario_definitions/data.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
A curriculum that reaches target in curriculum_epochs against baseline_epochs shuffled, with an optional linear warmup of warmup_epochs (epoch j serves j/W of the data).
Notes
Equation: epoch_reduction is the worked quantity; each property below states its equation and units.
Assumptions: Epoch counts are supplied and warmup epoch j uses j/W of a full dataset.
Excludes: Predicting curriculum convergence, fractional-epoch scheduling, and data-selection overhead.
References
Derivation: The equations below follow the stated counts, geometric relations, or accounting definitions; scenario inputs are supplied assumptions or observations, not fitted predictions.
Examples
Execute the registered worked inputs; this is a modeled calculation.
>>> from mlsysim import Scenarios
>>> case = Scenarios.Cifar10LinearCurriculum
>>> value = case.epoch_reduction
>>> round(value, 3)
0.233Attributes
| Name | Description |
|---|---|
| baseline_epochs | |
| curriculum_epochs | |
| epoch_reduction | Fractional epoch reduction relative to the shuffled baseline. |
| warmup_epochs | |
| warmup_samples | Equivalent full-data passes during a discrete linear warmup; requires warmup_epochs. |
| warmup_share | Dimensionless fraction of full-data warmup work actually served. |
baseline_epochs
Type: int.
Declared default: required.
curriculum_epochs
Type: int.
Declared default: required.
warmup_epochs
Type: Optional[int].
Declared default: None.
epoch_reduction
engine.scenario_types.CurriculumScheduleScenario.epoch_reduction
Fractional epoch reduction relative to the shuffled baseline.
Equation: return (self.baseline_epochs - self.curriculum_epochs) / self.baseline_epochs
warmup_samples
engine.scenario_types.CurriculumScheduleScenario.warmup_samples
Equivalent full-data passes during a discrete linear warmup; requires warmup_epochs.
Dataset passes the linear warmup serves: (W + 1) / 2.
Equation: return (self.warmup_epochs + 1) / 2