1 lightning.training.optimizers

lightning.training.optimizers

Shared optimizer and learning-rate scheduler configuration for Lightning.

AdamWConfig serves both the one-step aria_nbv.lightning.VinLightningModule and finite-horizon aria_nbv.lightning.finite_horizon.module.QhLightningModule. Scheduler factories provide the common Lightning mapping and step-budget contracts without owning either objective. Each consuming module retains optimizer selection, stepping order, and scheduler-admission policy; the Trainer owns the final one-cycle step budget.

1.1 Classes

Name Description
AdamWConfig Configure AdamW for a Lightning module’s trainable parameters.
OneCycleSchedulerConfig Configure a step-wise one-cycle learning-rate and momentum schedule.
ReduceLrOnPlateauConfig Configure metric-driven learning-rate decay for Lightning.

1.1.1 AdamWConfig

lightning.training.optimizers.AdamWConfig()

Configure AdamW for a Lightning module’s trainable parameters.

1.1.1.1 Attributes

Name Description
target_type Factory target for aria_nbv.configs.base.BaseConfig.setup_target.
learning_rate Learning rate for AdamW.
weight_decay Weight decay for AdamW.
foreach Explicit foreach policy; None preserves PyTorch’s historical backend selection.
fused Explicit fused policy; None preserves PyTorch’s historical backend selection.

1.1.1.2 Methods

Name Description
setup_target Create AdamW over the exact trainable parameter list.
1.1.1.2.1 setup_target
lightning.training.optimizers.AdamWConfig.setup_target(params)

Create AdamW over the exact trainable parameter list.

1.1.1.2.1.1 Parameters
Name Type Description Default
params list[Tensor] Materialized parameters selected by the consuming aria_nbv.lightning.VinLightningModule.configure_optimizers or aria_nbv.lightning.finite_horizon.module.QhLightningModule.configure_optimizers. required
1.1.1.2.1.2 Returns
Name Type Description
Optimizer Optimizer owned and stepped by Lightning.

1.1.2 OneCycleSchedulerConfig

lightning.training.optimizers.OneCycleSchedulerConfig()

Configure a step-wise one-cycle learning-rate and momentum schedule.

1.1.2.1 Attributes

Name Description
target_type Return the external one-cycle scheduler factory target.
max_lr Maximum learning rate in the cycle (defaults to optimizer LR).
base_momentum Lower momentum boundary in the cycle.
max_momentum Upper momentum boundary in the cycle.
div_factor Initial learning rate = max_lr / div_factor.
final_div_factor Final learning rate = max_lr / (div_factor * final_div_factor).
pct_start Percentage of cycle spent increasing learning rate.
anneal_strategy Annealing strategy: ‘cos’ or ‘linear’.

1.1.2.2 Methods

Name Description
setup_target Create a one-cycle scheduler after resolving the total step budget.
setup_lightning Build the Lightning lr_scheduler config for OneCycleLR.
1.1.2.2.1 setup_target
lightning.training.optimizers.OneCycleSchedulerConfig.setup_target(
    optimizer,
    *,
    total_steps=None,
    trainer=None,
)

Create a one-cycle scheduler after resolving the total step budget.

1.1.2.2.1.1 Parameters
Name Type Description Default
optimizer Optimizer Optimizer whose learning rate and momentum are scheduled. required
total_steps int | None Explicit positive optimizer-step count. When omitted, trainer.estimated_stepping_batches or its datamodule/epoch fallback is used. None
trainer pl.Trainer | None Optional configured trainer used for step-budget inference. None
1.1.2.2.1.2 Returns
Name Type Description
OneCycleLR Step-wise scheduler owned by Lightning.
1.1.2.2.2 setup_lightning
lightning.training.optimizers.OneCycleSchedulerConfig.setup_lightning(
    optimizer,
    *,
    total_steps=None,
    trainer=None,
)

Build the Lightning lr_scheduler config for OneCycleLR.

1.1.2.2.2.1 Parameters
Name Type Description Default
optimizer Optimizer Optimizer instance to schedule. required
total_steps int | None Optional total step count for the cycle. None
trainer pl.Trainer | None Optional Lightning trainer used to infer total_steps. None
1.1.2.2.2.2 Returns
Name Type Description
dict[str, Any] Lightning lr_scheduler configuration dictionary.

1.1.3 ReduceLrOnPlateauConfig

lightning.training.optimizers.ReduceLrOnPlateauConfig()

Configure metric-driven learning-rate decay for Lightning.

1.1.3.1 Attributes

Name Description
target_type Factory target for aria_nbv.configs.base.BaseConfig.setup_target.
mode Whether to reduce on metric min or max.
factor Multiplicative factor of LR reduction.
patience Number of steps with no improvement before reducing the LR.
threshold Threshold for measuring new optimum.
threshold_mode Threshold interpretation (relative or absolute).
cooldown Number of epochs to wait before resuming normal operation.
min_lr Lower bound on the learning rate.
eps Minimal decay applied to LR.
monitor Metric name to monitor for plateau reduction.
interval Scheduler interval (step or epoch).
frequency Scheduler frequency.

1.1.3.2 Methods

Name Description
setup_target Create a plateau scheduler over one optimizer.
setup_lightning Build the Lightning lr_scheduler config for ReduceLROnPlateau.
1.1.3.2.1 setup_target
lightning.training.optimizers.ReduceLrOnPlateauConfig.setup_target(
    optimizer,
    *,
    trainer=None,
)

Create a plateau scheduler over one optimizer.

1.1.3.2.1.1 Parameters
Name Type Description Default
optimizer Optimizer Optimizer whose parameter-group rates are mutated. required
trainer pl.Trainer | None Accepted for the shared scheduler factory interface; not used because plateau scheduling is metric driven. None
1.1.3.2.1.2 Returns
Name Type Description
ReduceLROnPlateau Scheduler instance later stepped by Lightning.
1.1.3.2.2 setup_lightning
lightning.training.optimizers.ReduceLrOnPlateauConfig.setup_lightning(
    optimizer,
    *,
    trainer=None,
)

Build the Lightning lr_scheduler config for ReduceLROnPlateau.

1.1.3.2.2.1 Parameters
Name Type Description Default
optimizer Optimizer Optimizer instance to schedule. required
trainer pl.Trainer | None Optional Lightning trainer (unused for plateau). None
1.1.3.2.2.2 Returns
Name Type Description
dict[str, Any] Lightning lr_scheduler configuration dictionary.
Back to top