美文网首页工作生活
学习率的调整

学习率的调整

作者: 顾北向南 | 来源:发表于2019-07-03 20:55 被阅读0次

1. cosine学习率下降

def adjust_learning_rate(optimizer, epoch, args, batch=None,
                         nBatch=None, method='cosine'):
    if method == 'cosine':
        T_total = args.epochs * nBatch
        T_cur = (epoch % args.epochs) * nBatch + batch
        lr = 0.5 * args.lr * (1 + math.cos(math.pi * T_cur / T_total))
    elif method == 'multistep':
        if args.data in ['cifar10', 'cifar100']:
            lr, decay_rate = args.lr, 0.1
            if epoch >= args.epochs * 0.75:
                lr *= decay_rate**2
            elif epoch >= args.epochs * 0.5:
                lr *= decay_rate
        else:
            """Sets the learning rate to the initial LR decayed by 10 every 30 epochs"""
            lr = args.lr * (0.1 ** (epoch // 30))
    for param_group in optimizer.param_groups:
        param_group['lr'] = lr
    return lr

lr = adjust_learning_rate(optimizer, epoch, args, batch=i,
                                  nBatch=len(train_loader), method=args.lr_type) # lr_type:['cosine', 'multistep']
 

相关文章

  • tensorflow 学习率控制

    为什么调整学习率 学习率的调整 离散下降(discrete staircase)对于深度学习来说,每 tt 轮学习...

  • Keras使用

    参考:Keras学习率调整深度学习框架Keras使用心得 一、如何调整学习率 Keras提供两种学习率适应方法,可...

  • 学习率的调整

    1. cosine学习率下降

  • Pytorch中的学习率衰减方法

    Pytorch 中的学习率调整方法 Pytorch中的学习率调整有两种方式: 直接修改optimizer中的lr参...

  • 动态调整学习率

    学习率对模型的学习效果影响很大。 方法一,使用优化器的decay参数 方法二,使用learningRateSche...

  • 2018-04-07 深度学习训练中 超参数调整 笔记

    超参数 1 学习率 初始值0.1, 如何调整学习率,准确率不再下降,就减小学习率。准确率下降太慢,就增大学习率 2...

  • 机器学习 | 优化——调整学习率

    写在前面: 学习率 是神经网络优化时的重要超参数。在 梯度下降方法 中,学习率的取值非常关键,如果过大就不会收敛,...

  • pytorch学习(十三)—学习率调整策略

    学习率 学习速率(learning rate)是指导我们该如何通过损失函数的梯度调整网络权重的超参数。学习率越低,...

  • 2019-03-24

    学习率的调整 从梯度下降算法的角度来说,通过选择合适的学习率,可以使梯度下降法得到更好的性能。学习率,即参数到达最...

  • keras定期调整学习率

    keras可以import两个函数定义一个函数进而实现动态调整学习率。并且fit里的callbacks中的学习率会...

网友评论

    本文标题:学习率的调整

    本文链接:https://www.haomeiwen.com/subject/mmhhhctx.html