web-dev-qa-db-ja.com

PyTorch:オプティマイザーの学習率を任意の瞬間に変更する方法(LRスケジュールなし)

PyTorchでは、トレーニングの途中でオプティマイザーの学習率を動的に変更することはできますか(事前に学習率のスケジュールを定義したくありません)?

だから、オプティマイザーを持っているとしましょう:

_optim = torch.optim.SGD(model.parameters(), lr=0.01)
_

トレーニング中に実行するいくつかのテストにより、学習率が高すぎることに気づいたので、_0.001_と言うように変更したいと思います。メソッドoptim.set_lr(0.001)はないようですが、これを行う方法はありますか?

18
patapouf_ai

したがって、学習率はoptim.param_groups[i]['lr']optim.param_groupsは、異なる学習率を持つことができる異なる重みグループのリストです。したがって、単に次のことを行います。

for g in optim.param_groups:
    g['lr'] = 0.001

トリックを行います。

39
patapouf_ai