noether.core.schedules.step =========================== .. py:module:: noether.core.schedules.step Classes ------- .. autoapisummary:: noether.core.schedules.step.StepDecreasingSchedule noether.core.schedules.step.StepFixedSchedule noether.core.schedules.step.StepIntervalSchedule Module Contents --------------- .. py:class:: StepDecreasingSchedule(config) Bases: :py:obj:`noether.core.schedules.base.DecreasingProgressSchedule` A scheduler that decreases exponentially from the maximum to minimum value over the total number of steps. .. rubric:: 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. .. py:attribute:: factor .. py:attribute:: decreases_interval .. py:class:: StepFixedSchedule(config) Bases: :py:obj:`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. :param config: Configuration for the step fixed schedule. .. rubric:: 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. .. py:attribute:: steps .. py:attribute:: start_value .. py:attribute:: factor .. py:class:: StepIntervalSchedule(config) Bases: :py:obj:`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. :param config: 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 .. py:attribute:: start_value .. py:attribute:: factor .. py:attribute:: update_interval