Aan de slagGa gratis aan de slag

Een combinatie van callbacks

Deep learning-modellen kunnen lang trainen, zeker bij diepere architecturen en grotere gegevenssets. Je model opslaan telkens als het verbetert én de training stoppen wanneer dat niet meer gebeurt, maakt het minder belangrijk om het exacte aantal epochs te kiezen. Je kunt ook op elk moment een opgeslagen model herstellen en de training hervatten waar je was gebleven.

De trainings- en validatiegegevens van het model zijn beschikbaar in je werkruimte als X_train, X_test, y_train en y_test.

Gebruik de callbacks EarlyStopping() en ModelCheckpoint() zodat jij een pot koekjes kunt gaan eten terwijl je computer het werk doet!

Deze oefening maakt deel uit van de cursus

Introductie tot Deep Learning met Keras

Cursus bekijken

Oefeninstructies

  • Importeer zowel de callbacks EarlyStopping als ModelCheckpoint uit tensorflow.keras.
  • Maak monitor_val_acc als een EarlyStopping-callback die 'val_accuracy' monitort, met een patience van 3 epochs.
  • Maak model_checkpoint als een ModelCheckpoint-callback en sla het beste model op als best_banknote_model.hdf5.
  • Train je model en geef een lijst met de gedefinieerde callbacks mee, en gebruik X_test en y_test als validatiegegevens.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren