Source code for draugr.torch_utilities.optimisation.scheduling.schedulers

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

__author__ = "Christian Heider Nielsen"
__doc__ = r"""

           Created on 01/03/2020
           """

import torch

__all__ = ["warmup_lr_scheduler"]


[docs]def warmup_lr_scheduler(optimizer, warmup_iters, warmup_factor): """ :param optimizer: :type optimizer: :param warmup_iters: :type warmup_iters: :param warmup_factor: :type warmup_factor: :return: :rtype:""" def f(x): """ :param x: :type x: :return: :rtype:""" if x >= warmup_iters: return 1 alpha = float(x) / warmup_iters return warmup_factor * (1 - alpha) + alpha return torch.optim.lr_scheduler.LambdaLR(optimizer, f)