warmup lr+CosineAnnealingLR策略

本文介绍了Warmup LR策略,即在网络训练初期使用较小学习率并线性增长到预设值。重点讨论了如何通过WarmUpLR(optimizer, iter_per_epoch * args.warm)来确定学习率提升的位置。如果将其置于epoch内step,则表示在args.warm个epoch内增长,若置于batch内step,则表示在args.warm*iter_per_epoch个step内增长。同时,文章指出初始化scheduler时未正确调用可能导致学习率始终为0,并提出了相应的解决方案。" 132649395,19694681,Qt框架插件开发:扩展功能详解,"['qt', '开发语言', '插件开发']
摘要由CSDN通过智能技术生成

warmup lr策略就是在网络训练初期用比较小的学习率,线性增长到初始设定的学习率。

大概就是下面这个趋势,从0上升到0.01,再按照正常的学习率调整策略训练。

import torch
from torch.optim.lr_scheduler import _LRScheduler


class WarmUpLR(_LRScheduler):
    """warmup_training learning rate scheduler
    Args:
        optimizer: optimzier(e.g. SGD)
        total_iters: totoal_iters of warmup phase
    """
    def __init__(self, optimizer, total_iters, last_epoch=-1):
        
        self.total_iters = total_iters
        super().__init__(optimizer, last_epoch)

    def get_lr(self):
        """we will use the first m batches, and set the learning
        rate to base_lr * m / total_iters
    
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值