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.

Parameters:

config (noether.core.schemas.schedules.StepDecreasingScheduleConfig) – The configuration for the scheduler. See StepDecreasingScheduleConfig for details.

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.

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.

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