Eine Kombination aus Callbacks
Deep-Learning-Modelle können lange zum Trainieren brauchen, besonders bei tieferen Architekturen und größeren Datensätzen. Wenn du dein Modell jedes Mal speicherst, sobald es sich verbessert, und das Training stoppst, sobald es sich nicht mehr verbessert, musst du dir weniger Gedanken darüber machen, wie viele Epochen du trainieren lässt. Außerdem kannst du ein gespeichertes Modell jederzeit wiederherstellen und das Training fortsetzen.
Die Trainings- und Validierungsdaten für das Modell findest du in deinem Workspace als X_train, X_test, y_train und y_test.
Verwende die Callbacks EarlyStopping() und ModelCheckpoint(), damit du dir währenddessen in Ruhe ein Glas Kekse gönnen kannst, während dein Computer arbeitet!
Diese Übung ist Teil des Kurses
<Kurs>Einstieg ins Deep Learning mit Keras</Kurs>Übungsanweisungen
- Importiere die Callbacks
EarlyStoppingundModelCheckpointaustensorflow.keras. - Erstelle
monitor_val_accalsEarlyStopping-Callback, der'val_accuracy'überwacht, mit einerpatiencevon 3 Epochen. - Erstelle
model_checkpointalsModelCheckpoint-Callback und speichere das beste Modell alsbest_banknote_model.hdf5. - Fitte dein Modell und übergib eine Liste mit den definierten Callbacks sowie
X_testundy_testals Validierungsdaten.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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 = (____, ____))