Une combinaison de callbacks
Les modèles de deep learning peuvent prendre beaucoup de temps à s'entraîner, surtout quand vous passez à des architectures plus profondes et à des ensembles de données plus volumineux. Enregistrer votre modèle chaque fois qu'il s'améliore, et arrêter l'entraînement lorsqu'il ne s'améliore plus, vous évite de trop vous soucier du choix du nombre d'époques. Vous pouvez aussi restaurer un modèle enregistré à 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 X_train, X_test, y_train et y_test.
Utilisez les callbacks EarlyStopping() et ModelCheckpoint() pour pouvoir aller déguster un pot de biscuits pendant que votre ordinateur travaille !
Cette activité fait partie du cours
Introduction à Deep Learning avec Keras
Instructions de l’exercice
- Importez les callbacks
EarlyStoppingetModelCheckpointdepuistensorflow.keras. - Créez
monitor_val_acccomme callbackEarlyStoppingqui surveille'val_accuracy', avec unepatiencede 3 époques. - Créez
model_checkpointcomme callbackModelCheckpoint, et enregistrez le meilleur modèle sousbest_banknote_model.hdf5. - Entraînez votre modèle en fournissant une liste avec les callbacks définis, ainsi que
X_testety_testcomme données de validation.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 = (____, ____))