noether.core.schedules.schemas

Classes

Module Contents

class noether.core.schedules.schemas.ScheduleBaseConfig(/, **data)

Bases: pydantic.BaseModel

Parameters:

data (Any)

kind: str | None = None

The fully qualified class name of the scheduler.

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.

start_value: float = None
end_value: float = None
weight_decay: float | None = None
start_percent: float | None = None

The percentage of steps at which the schedule starts.

end_percent: float | None = None

The percentage of steps at which the schedule ends.

start_step: int | None = None

The step at which the schedule starts.

end_step: int | None = None

The step at which the schedule ends.

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:

ScheduleBaseConfig

validate_start_end_steps()
Return type:

ScheduleBaseConfig

validate_start_end_percents()
Return type:

ScheduleBaseConfig

class noether.core.schedules.schemas.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.

exclude_first: bool = None

Whether to exclude the first value of the schedule.

exclude_last: bool = None

Whether to exclude the last value of the schedule.

class noether.core.schedules.schemas.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.

warmup_percent: float = None
end_value: float = None
class noether.core.schedules.schemas.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.

max_value: float = None

Maximum (starting) value of the schedule.

end_value: float = None

Minimum (ending) value of the schedule.

class noether.core.schedules.schemas.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.

start_value: float = None
max_value: float | None = None

Minimum (starting) value of the schedule.