noether.core.schedules.step

Classes

StepDecreasingSchedule

A scheduler that decreases exponentially from the maximum to minimum value over the total number of steps.

StepFixedSchedule

A scheduler that progresses at fixed steps and increases or decreases by some factor at these steps.

StepIntervalSchedule

A scheduler that progresses at fixed intervals and increases or decreases by some factor at these intervals.

Module Contents

class noether.core.schedules.step.StepDecreasingSchedule(config)

Bases: noether.core.schedules.base.DecreasingProgressSchedule

A scheduler that decreases exponentially from the maximum to minimum value over the total number of steps.

Example

>>> schedule_config:
>>>    kind: noether.core.schedules.StepDecreasingSchedule
>>>    factor: 0.1
>>>    decreases_interval: 0.01
>>>    max_value: ${model.optim.lr}

I.e., after each 1% of the total training steps, the value is multiplied by 0.1.

Initialize the scheduler.

Args: config: The configuration for the scheduler.

Parameters:

config (noether.core.schemas.schedules.StepDecreasingScheduleConfig)

factor
decreases_interval
class noether.core.schedules.step.StepFixedSchedule(config)

Bases: noether.core.schedules.base.ScheduleBase

A scheduler that progresses at fixed steps and increases or decreases by some factor at these steps.

Initialize the scheduler.

Parameters:

config (noether.core.schemas.schedules.StepFixedScheduleConfig) – Configuration for the step fixed schedule.

Example

>>> schedule_config:
>>> kind: noether.core.schedules.StepFixedSchedule
>>> factor: 0.1
>>> start_value: ${model.optim.lr}
>>> steps:
>>>   - 0.01
>>>   - 0.02
>>>   - 0.03

Lower LR by factor 0.1 at 1%, 2%, and 3% of total training steps.

steps
start_value
factor
class noether.core.schedules.step.StepIntervalSchedule(config)

Bases: noether.core.schedules.base.ScheduleBase

A scheduler that progresses at fixed intervals and increases or decreases by some factor at these intervals.

Initialize the scheduler.

Parameters:

config (noether.core.schemas.schedules.StepIntervalScheduleConfig) – Configuration for the step interval schedule.

Example: >>> schedule_config: >>> kind: noether.core.schedules.StepIntervalSchedule >>> start_value: 1.0 >>> factor: 0.5 >>> update_interval: 0.01

start_value
factor
update_interval