Skip to content

lr_scheduling_policy

LRSchedulingPolicy

Defines a learning rate scheduling policy.

Source code in lightning_boost/modules/optim/lr_scheduling_policy.py
class LRSchedulingPolicy:
    """Defines a learning rate scheduling policy."""

    def __init__(
        self, interval: str = 'epoch', frequency: int = 1, monitor: str = 'val_total-loss'
    ) -> None:
        """
        Initializes LR scheduling policy.

        Args:
            interval (str, optional): Interval in which LR scheduling is performed ('step' or 'epoch'). Defaults to 'epoch'.
            frequency (int, optional): Frequency in which LR scheduling is performed. Defaults to 1.
            monitor (str, optional): Monitor metric. Defaults to 'val_total-loss'.
        """

        self.interval = interval
        self.frequency = frequency
        self.monitor = monitor

    def bind_lr_scheduler(self, lr_scheduler: LRScheduler) -> Dict[str, Any]:
        """
        Binds learning rate scheduler and returns scheduling policy.

        Args:
            lr_scheduler (LRScheduler): Learning rate scheduler.

        Returns:
            Dict[str, Any]: LR scheduling policy.
        """

        return {
            'scheduler': lr_scheduler,
            'interval': self.interval,
            'frequency': self.frequency,
            'monitor': self.monitor,
        }

__init__(interval='epoch', frequency=1, monitor='val_total-loss')

Initializes LR scheduling policy.

Parameters:

Name Type Description Default
interval str

Interval in which LR scheduling is performed ('step' or 'epoch'). Defaults to 'epoch'.

'epoch'
frequency int

Frequency in which LR scheduling is performed. Defaults to 1.

1
monitor str

Monitor metric. Defaults to 'val_total-loss'.

'val_total-loss'
Source code in lightning_boost/modules/optim/lr_scheduling_policy.py
def __init__(
    self, interval: str = 'epoch', frequency: int = 1, monitor: str = 'val_total-loss'
) -> None:
    """
    Initializes LR scheduling policy.

    Args:
        interval (str, optional): Interval in which LR scheduling is performed ('step' or 'epoch'). Defaults to 'epoch'.
        frequency (int, optional): Frequency in which LR scheduling is performed. Defaults to 1.
        monitor (str, optional): Monitor metric. Defaults to 'val_total-loss'.
    """

    self.interval = interval
    self.frequency = frequency
    self.monitor = monitor

bind_lr_scheduler(lr_scheduler)

Binds learning rate scheduler and returns scheduling policy.

Parameters:

Name Type Description Default
lr_scheduler LRScheduler

Learning rate scheduler.

required

Returns:

Type Description
Dict[str, Any]

Dict[str, Any]: LR scheduling policy.

Source code in lightning_boost/modules/optim/lr_scheduling_policy.py
def bind_lr_scheduler(self, lr_scheduler: LRScheduler) -> Dict[str, Any]:
    """
    Binds learning rate scheduler and returns scheduling policy.

    Args:
        lr_scheduler (LRScheduler): Learning rate scheduler.

    Returns:
        Dict[str, Any]: LR scheduling policy.
    """

    return {
        'scheduler': lr_scheduler,
        'interval': self.interval,
        'frequency': self.frequency,
        'monitor': self.monitor,
    }