lr_scheduler的选择
学习率在训练过程起到很重要的作用,这段时间里最常用的两个:
- 循环学习率调度器
循环学习率调度器主要基于一个基本的观点:将训练过程中的学习率从较低的初始值逐渐增加,然后再逐渐减小到较小的终止值。这个过程有助于模型更快地收敛,并且可以降低模型过拟合的风险。同时,通过在训练过程中循环地逐渐调整学习率,可以避免在过多迭代中学习率过小或者过大。
torch.optim.lr_scheduler.OneCycleLR(optimizer, max_lr=, steps_per_epoch=, epochs=)
- 指数衰减学习率调度器
指数衰减学习率调度器的工作方式很简单:在每个训练迭代中,它会根据一个事先指定的指数衰减率,对当前学习率进行乘法衰减。
torch.optim.lr_scheduler.ExponentialLR(optimizer, gamma=0.88, last_epoch=-1)
个人感觉:循环学习率调度器在训练收敛的过程更稳定一些
标签:训练,调度,炼丹,学习,lr,关于,scheduler,衰减 From: https://www.cnblogs.com/lyq622/p/17641257.html