昨日の記事に続いて、学習率調整の話です。
参考: kerasのLearningRateSchedulerで学習途中に学習率を調整する
昨日の記事では、動作確認のため、LearningRateSchedulerの引数、verboseに1を設定して、
エポックごとの学習率を出力して動きを見ていました。
しかし、見ての通り、出力がかなり煩雑になって、なかなか煩わしいです。
なので、普段は verbose=0 で使うのですが、そうすると、思うように学習が進まなかった時に、
調査の一環で学習率の変化の具合を見ようと思うと困っていました。
(verboseを1になおして再実行すると時間がかかるし、結果も変わるので。)
その時、何気なくhistoryオブジェクト(fit関数の戻り値)を可視化してみると、その中に lr も含まれているのを見つけました。
昨日の記事のコードの続きで実行してみるとこんな感じで。
print(history.history["lr"])
# [0.002, 0.002, 0.002, 0.001, 0.001, 0.0005, 0.0005, 0.0005, 0.0005, 0.0005]
history.history には, accもlossも入っているので、学習率の変化やその影響の確認は,
これをみるのが一番良さそうです。