コールバックの組み合わせ
ディープラーニングの学習には時間がかかることがあります。モデルが改善したときに毎回保存し、改善が止まったら学習を打ち切るようにしておくと、学習させるエポック数を過度に気にせずに済みます。保存したモデルはいつでも復元でき、途中から学習を再開することも可能です。
学習用と検証用のデータはワークスペースに X_train、X_test、y_train、y_test として用意されています。
EarlyStopping() と ModelCheckpoint() のコールバックを使って、コンピュータに任せている間にクッキーでも食べに行けるようにしましょう!
この演習はコースの一部です
Kerasで学ぶIntroduction to Deep Learning
演習の手順
tensorflow.kerasからEarlyStoppingとModelCheckpointの両方のコールバックをインポートします。'val_accuracy'を監視し、patienceを3エポックにしたEarlyStoppingコールバックをmonitor_val_accとして作成します。- 最良のモデルを
best_banknote_model.hdf5として保存するModelCheckpointコールバックをmodel_checkpointとして作成します。 - これらのコールバックをリストで渡し、検証データとして
X_testとy_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 = (____, ____))