noether.core.schemas.schedules¶
Attributes¶
Classes¶
Module Contents¶
- class noether.core.schemas.schedules.ScheduleBaseConfig(/, **data)¶
Bases:
pydantic.BaseModel- Parameters:
data (Any)
- overhang_percent: float | None = None¶
The percentage by which the schedule is artificially prolonged. Mutually exclusive with overhang_steps.
- overhang_steps: int | None = None¶
The number of steps by which the schedule is artificially prolonged. Mutually exclusive with overhang_percent.
- interval: Literal['update', 'epoch'] = None¶
Whether the schedule is based on updates or epochs. Interval should be either “update” or “epoch”. Default is “update”. Under the hood steps is always used. However, when “epoch” is selected here, the step count is derived from epochs via the UpdateCounter.
- check_mutual_exclusion()¶
Ensures that ‘overhang_percent’ and ‘overhang_steps’ are mutually exclusive.
- Return type:
- validate_start_end_steps()¶
- Return type:
- validate_start_end_percents()¶
- Return type:
- class noether.core.schemas.schedules.ProgressScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.ProgressSchedule'] = 'noether.core.schedules.ProgressSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.SchedulerConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.scheduler.SchedulerConfig'] = 'noether.core.schedules.scheduler.SchedulerConfig'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.DecreasingProgressScheduleConfig(/, **data)¶
Bases:
ProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.DecreasingProgressSchedule'] = 'noether.core.schedules.DecreasingProgressSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.IncreasingProgressScheduleConfig(/, **data)¶
Bases:
ProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.IncreasingProgressSchedule'] = 'noether.core.schedules.IncreasingProgressSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.ConstantScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.ConstantSchedule'] = 'noether.core.schedules.ConstantSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.CustomScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.CustomSchedule'] = 'noether.core.schedules.CustomSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.LinearWarmupCosineDecayScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.LinearWarmupCosineDecaySchedule'] = 'noether.core.schedules.LinearWarmupCosineDecaySchedule'¶
The fully qualified class name of the scheduler.
- warmup_steps: int | None = None¶
The number of steps to linearly increase the value from start to max.
- warmup_percent: float | None = None¶
The percentage of steps to linearly increase the value from start to max.
- max_value: float = None¶
The maximum value of the scheduler from which to start the cosine decay phase. This should be equal to the learning rate defined in the optimizer. I.e., max value is learning rate
- validate_warmup()¶
Ensures that exactly one of ‘warmup_steps’ or ‘warmup_percent’ is specified.
- Return type:
- class noether.core.schemas.schedules.LinearIncreasingScheduleConfig(/, **data)¶
Bases:
IncreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.LinearIncreasingSchedule'] = 'noether.core.schedules.LinearIncreasingSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.LinearDecreasingScheduleConfig(/, **data)¶
Bases:
DecreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.LinearDecreasingSchedule'] = 'noether.core.schedules.LinearDecreasingSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.PeriodicBoolScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.PeriodicBoolSchedule'] = 'noether.core.schedules.PeriodicBoolSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.PolynomialDecreasingScheduleConfig(/, **data)¶
Bases:
DecreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.PolynomialDecreasingSchedule'] = 'noether.core.schedules.PolynomialDecreasingSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.PolynomialIncreasingScheduleConfig(/, **data)¶
Bases:
IncreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.PolynomialIncreasingSchedule'] = 'noether.core.schedules.PolynomialIncreasingSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.StepDecreasingScheduleConfig(/, **data)¶
Bases:
DecreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.StepDecreasingSchedule'] = 'noether.core.schedules.StepDecreasingSchedule'¶
The fully qualified class name of the scheduler.
- check_interval()¶
Ensures that ‘interval’ is a float in the range (0, 1).
- Return type:
- class noether.core.schemas.schedules.StepFixedScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.StepFixedSchedule'] = 'noether.core.schedules.StepFixedSchedule'¶
The fully qualified class name of the scheduler.
- factor: float = None¶
The factor by which the value is multiplied after reaching the next step provided in steps.
- steps: list[float] = None¶
The steps at which the value changes, must be a list of floats in the range (0, 1).
- validate_steps()¶
Ensures that ‘steps’ is a non-empty list of floats in the range (0, 1).
- Return type:
- class noether.core.schemas.schedules.StepIntervalScheduleConfig(/, **data)¶
Bases:
ScheduleBaseConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.StepIntervalSchedule'] = 'noether.core.schedules.StepIntervalSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.CosineDecreasingScheduleConfig(/, **data)¶
Bases:
DecreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.CosineDecreasingSchedule'] = 'noether.core.schedules.CosineDecreasingSchedule'¶
The fully qualified class name of the scheduler.
- class noether.core.schemas.schedules.CosineIncreasingScheduleConfig(/, **data)¶
Bases:
IncreasingProgressScheduleConfig- Parameters:
data (Any)
- kind: Literal['noether.core.schedules.CosineIncreasingSchedule'] = 'noether.core.schedules.CosineIncreasingSchedule'¶
The fully qualified class name of the scheduler.
- noether.core.schemas.schedules.AnyScheduleConfig¶