改变火炬的优化器动量

问题描述

我知道您可以使用调度程序在pytorch中动态更改学习率。你怎么能用动量做同样的事情?

解决方法

来自documentation,用于PyTorch中的乘法LR。基本上,您将调度程序围绕优化器进行包装,就如同将优化器围绕模型参数进行包装一样。

lmbda = lambda epoch: 0.95
scheduler = MultiplicativeLR(optimizer,lr_lambda=lmbda)
for epoch in range(100):
    train(...)
    validate(...)
    scheduler.step()