始める無料で始める

コールバックの組み合わせ

ディープラーニングの学習には時間がかかることがあります。モデルが改善したときに毎回保存し、改善が止まったら学習を打ち切るようにしておくと、学習させるエポック数を過度に気にせずに済みます。保存したモデルはいつでも復元でき、途中から学習を再開することも可能です。

学習用と検証用のデータはワークスペースに X_trainX_testy_trainy_test として用意されています。

EarlyStopping()ModelCheckpoint() のコールバックを使って、コンピュータに任せている間にクッキーでも食べに行けるようにしましょう!

この演習はコースの一部です

Kerasで学ぶIntroduction to Deep Learning

コースを見る

演習の手順

  • tensorflow.keras から EarlyStoppingModelCheckpoint の両方のコールバックをインポートします。
  • 'val_accuracy' を監視し、patience を3エポックにした EarlyStopping コールバックを monitor_val_acc として作成します。
  • 最良のモデルを best_banknote_model.hdf5 として保存する ModelCheckpoint コールバックを model_checkpoint として作成します。
  • これらのコールバックをリストで渡し、検証データとして X_testy_test を指定してモデルを学習させます。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Import the EarlyStopping and ModelCheckpoint callbacks
from tensorflow.____.____ import ____, ____

# Early stop on validation accuracy
monitor_val_acc = ____(monitor = ____, patience = ____)

# Save the best model as best_banknote_model.hdf5
model_checkpoint = ____(____, save_best_only = True)

# Fit your model for a stupid amount of epochs
h_callback = model.fit(X_train, y_train,
                    epochs = 1000000000000,
                    callbacks = [____, ____],
                    validation_data = (____, ____))
コードを編集して実行