LoslegenKostenlos starten

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>
Kurs ansehen

Übungsanweisungen

  • Importiere die Callbacks EarlyStopping und ModelCheckpoint aus tensorflow.keras.
  • Erstelle monitor_val_acc als EarlyStopping-Callback, der 'val_accuracy' überwacht, mit einer patience von 3 Epochen.
  • Erstelle model_checkpoint als ModelCheckpoint-Callback und speichere das beste Modell als best_banknote_model.hdf5.
  • Fitte dein Modell und übergib eine Liste mit den definierten Callbacks sowie X_test und y_test als 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 = (____, ____))
Code bearbeiten und ausführen