pytorch学习笔记(十):learning rate decay(学习率衰减)

pytorch learning rate decay

本文主要是介绍在pytorch中如何使用learning rate decay.
先上代码:


def adjust_learning_rate(optimizer, decay_rate=.9):
    for param_group in optimizer.param_groups:
        param_group['lr'] = param_group['lr'] * decay_rate

什么是param_groups?
optimizer通过param_group来管理参数组.param_group中保存了参数组及其对应的学习率,动量等等.所以我们可以通过更改param_group['lr']的值来更改对应参数组的学习率.

# 有两个`param_group`即,len(optim.param_groups)==2
optim.SGD([
                {'params': model.base.parameters()},
                {'params': model.classifier.parameters(), 'lr': 1e-3}
            ], lr=1e-2, momentum=0.9)

#一个参数组
optim.SGD(model.parameters(), lr=1e-2, momentum=.9)

参考资料

https://discuss.pytorch.org/t/adaptive-learning-rate/320/4

你可能感兴趣的:(pytorch,pytorch学习笔记)