【備忘録】PyTorchのOptimizerとSchedulerの挙動
https://www.nogawanogawa.com/entry/2022/01/02/232206
ちょっとPyTorchのコード書いてて「Schedulerってなんだっけな?Optimizerとの違いって何だっけ?」って混乱してしまったので、備忘用のメモ
なにも考えずにOptimizerを使うと、ミニバッチごとに学習率が変化する
これをepochごとにも調整したい場合があったりします。
そんなときに使用するのがschedulerってイメージですかね。
先程より学習の進行が鈍くなったことがわかるでしょうか? コードではミニバッチは使ってないんですが、schedulerによる学習率の減衰が加わったため学習が遅くなっているわけです。
実際にはサンプルコードのようにoptimizer.stepはミニバッチごと、schedulerはepochごとに減衰させていくのが正しそう
(裏を取りたい気持ち)
参考文献
(積ん読)【前編】Pytorchの様々な最適化手法(torch.optim.Optimizer)の更新過程や性能を比較検証してみた!
PyTorchのSchedulerまとめ(torch v1.1.0)