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
Oefeninstructies
- Importeer zowel de callbacks
EarlyStoppingalsModelCheckpointuittensorflow.keras. - Maak
monitor_val_accals eenEarlyStopping-callback die'val_accuracy'monitort, met eenpatiencevan 3 epochs. - Maak
model_checkpointals eenModelCheckpoint-callback en sla het beste model op alsbest_banknote_model.hdf5. - Train je model en geef een lijst met de gedefinieerde callbacks mee, en gebruik
X_testeny_testals 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 = (____, ____))