artist.optim.training

Classes

EarlyStopping

Initialize the early stopping.

Functions

exponential(→ torch.optim.lr_scheduler.LRScheduler)

Create an exponential learning rate scheduler.

cyclic(→ torch.optim.lr_scheduler.LRScheduler)

Create a cyclic learning rate scheduler.

reduce_on_plateau(→ torch.optim.lr_scheduler.LRScheduler)

Create learning rate scheduler that reduces on plateaus.

Module Contents

artist.optim.training.exponential(optimizer: torch.optim.Optimizer, parameters: dict[str, float]) torch.optim.lr_scheduler.LRScheduler

Create an exponential learning rate scheduler.

Parameters

optimizerOptimizer

The optimizer.

parametersdict[str, float]

The scheduler parameters.

Returns

LRScheduler

An exponential learning rate scheduler.

artist.optim.training.cyclic(optimizer: torch.optim.Optimizer, parameters: dict[str, float]) torch.optim.lr_scheduler.LRScheduler

Create a cyclic learning rate scheduler.

Parameters

optimizerOptimizer

The optimizer.

parametersdict[str, float]

The scheduler parameters.

Returns

LRScheduler

A cyclic learning rate scheduler.

artist.optim.training.reduce_on_plateau(optimizer: torch.optim.Optimizer, parameters: dict[str, float]) torch.optim.lr_scheduler.LRScheduler

Create learning rate scheduler that reduces on plateaus.

Parameters

optimizerOptimizer

The optimizer.

parametersdict[str, float]

The scheduler parameters.

Returns

LRScheduler

A learning rate scheduler that reduces on plateaus.

class artist.optim.training.EarlyStopping(window_size: int = 10, patience: int = 20, min_improvement: float = 0.0001, relative: bool = True, eps: float = 1e-08)

Initialize the early stopping.

Parameters

window_sizeint

Number of epochs used to estimate loss trend (default is 10).

patienceint

Number of consecutive non-improving windows before stopping (default is 20).

min_improvementfloat

Minimum required improvement over the window to reset patience (default is 1e-4).

relativebool

Indicates whether improvement is normalized by loss magnitude (default is True).

epsfloat

Small value for stability (default is 1e-8).

window_size = 10
patience = 20
min_improvement = 0.0001
relative = True
eps = 1e-08
loss_history: Deque[float]
counter = 0
step(loss: float) bool

Update stopping state.

Parameters

lossfloat

Current loss value.

Returns

bool

True if optimization should stop, otherwise False.