Une combinaison de callbacks
Les modèles de Deep Learning peuvent prendre beaucoup de temps à entraîner, surtout lorsque vous passez à des architectures plus profondes et à des jeux de données plus volumineux. Sauvegarder votre modèle à chaque amélioration et arrêter l’entraînement lorsqu’il ne progresse plus vous évite d’avoir à choisir précisément le nombre d’époques. Vous pouvez aussi restaurer un modèle sauvegardé à tout moment et reprendre l’entraînement là où vous l’avez laissé.
Les données d’entraînement et de validation du modèle sont disponibles dans votre espace de travail sous les noms X_train, X_test, y_train et y_test.
Utilisez les callbacks EarlyStopping() et ModelCheckpoint() pour pouvoir aller déguster un bocal de cookies pendant que votre ordinateur travaille !
Cet exercice fait partie du cours
Introduction au Deep Learning avec Keras
Instructions
- Importez les callbacks
EarlyStoppingetModelCheckpointdepuistensorflow.keras. - Créez
monitor_val_acccomme un callbackEarlyStoppingqui surveille'val_accuracy', avec unepatiencede 3 époques. - Créez
model_checkpointcomme un callbackModelCheckpoint, et sauvegardez le meilleur modèle sous le nombest_banknote_model.hdf5. - Entraînez votre modèle en fournissant une liste contenant les callbacks définis, et
X_testety_testcomme données de validation.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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 = (____, ____))