Skip to main content

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.233

Attributes

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

warmup_share

engine.scenario_types.CurriculumScheduleScenario.warmup_share

Dimensionless fraction of full-data warmup work actually served.

Warmup samples over W full passes.

Equation: return self.warmup_samples / self.warmup_epochs

Back to top