pytorch中LambdaLR的作用
这个东西是为了可以按照我们的策略lr_lambda,随着训练趟数的增加,而学习率在不断变化,通常,学习率是在变小。
scheduler=torch.optim.lr_scheduler.LambdaLR(optimizer, lr_lambda, last_epoch=- 1, verbose=False)
我们只需要传入前两个即可,后面两个默认即可。
optimizer, lr_lambda,
我们关注的是上面第二个策略函数,第一个是预先定义好的,不需要管。
这是一个以训练epoch为输入,学习率倍率系数为输出的函数,一般用匿名函数:
set_lr=lambda epoch: 0.95 ** epoch
上面匿名函数等价于:
def set_lr(epoch):
return 0.95 ** epoch
换自变量也可以,但是pytorch系统自动传入的就是epoch。下面的x还是epoc
共有 0 条评论