tabensemb.model.AbstractNN.lr_scheduler_step#

method

AbstractNN.lr_scheduler_step(scheduler: _LRScheduler | ReduceLROnPlateau, optimizer_idx: int, metric: Any | None) None#

Override this method to adjust the default way the Trainer calls each scheduler. By default, Lightning calls step() and as shown in the example for each scheduler based on its interval.

Parameters:
  • scheduler – Learning rate scheduler.

  • optimizer_idx – Index of the optimizer associated with this scheduler.

  • metric – Value of the monitor used for schedulers like ReduceLROnPlateau.

Examples:

# DEFAULT
def lr_scheduler_step(self, scheduler, optimizer_idx, metric):
    if metric is None:
        scheduler.step()
    else:
        scheduler.step(metric)

# Alternative way to update schedulers if it requires an epoch value
def lr_scheduler_step(self, scheduler, optimizer_idx, metric):
    scheduler.step(epoch=self.current_epoch)