学习率调度器

lr_scheduler:

1、和loss_fun还有optimizer一起定义

2、它的存在意义;

        (1) 动态学习率调整:学习率决定了参数在每次迭代中的更新幅度,对训练的收敛速度和模型性能至关重要。学习率调度器允许在训练过程中动态地调整学习率,以适应不同阶段的数据分布和模型状态。

      (2)稳定训练过程:随着训练的进行,模型可能会接近最优解,此时较小的学习率有助于更精细地调整参数,提高模型的收敛性。学习率调度器可以根据训练进展来调整学习率,使其逐渐减小,从而稳定训练过程。

        (3)避免震荡和过拟合:过大的学习率可能导致模型参数在损失函数中来回波动,难以收敛。通过使用学习率调度器,可以在训练过程中逐渐减小学习率,避免震荡,并帮助模型更好地泛化到未见过的数据。

        (4) 提高训练效率:在训练过程中,不同的阶段可能需要不同的学习率。学习率调度器可以帮助模型更快地收敛,从而提高训练效率,尤其是对于大型深度学习模型。

综合来说,学习率调度器提供了更灵活、动态的学习率调整机制,有助于优化器更好地适应不同的训练阶段和数据分布,提高深度学习模型的性能和稳定性。

3、使用:

lr_scheduler = torch.optim.lr_scheduler.MultiStepLR(optimizer,
                                                    milestones=config['lr_decay_steps'], gamma=config['lr_decay_ratio'])
  • milestones (list):一个包含epoch索引的list,列表中的每个索引代表调整学习率的epoch。list中的值必须是递增的。 如 [20, 50, 100] 表示在epoch为20, 50,100时调整学习率。
  • gamma (float):学习率调整倍数

        在当前epoch的每一个batch都遍历之后,对他进行更新,和for batch对其:

lr_scheduler.step()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值