Advertisement

Pytorch 的学习率衰减机制 lr_scheduler

阅读量:

torch.optim.lr_scheduler 模块中包含多种依据训练周期调整学习率的策略,其常规应用方式大致如下:

复制代码
 optimizer  = torch.optim.SGD(model.parameters(), lr=1e-2, momentum=0.9, weight_decay=1e-5)

    
 scheduler = torch.optim.lr_scheduler.xxx()
    
 for epoch in range(epochs):
    
     train(...)
    
     optimizer.step()
    
     scheduler.step()
    
    
    
    

在 PyTorch 1.1.0 版本之前,scheduler.step() 的调用应置于 optimizer.step() 之前,以确保学习率的正确更新。若在当前版本中仍沿用此操作方式,则会导致首次学习率调整值被忽略。

LambdaLR学习率调度器应用

对每组参数的学习率进行设定时,应将其初始值乘以指定的函数结果。若last_epoch参数值为-1,则将学习率的初始值直接设定为lr。

复制代码
 optimizer  = torch.optim.SGD([{'params': weight_p, 'w

全部评论 (0)

还没有任何评论哟~