Arrêt hâtif : optimiser l'optimisation
Maintenant que vous savez comment suivre la performance de votre modèle pendant l'optimisation, vous pouvez utiliser l'arrêt hâtif pour arrêter l'optimisation quand elle n'apporte plus d'amélioration. Comme l'optimisation s'arrête automatiquement lorsqu'elle n'est plus utile, vous pouvez aussi fixer une valeur élevée pour epochs dans votre appel à .fit(), comme Dan l'a montré dans la vidéo.
Le modèle que vous allez optimiser a été défini sous le nom model. Comme précédemment, les données sont déjà chargées dans predictors et target.
Cette activité fait partie du cours
Introduction à Deep Learning en Python
Instructions de l’exercice
- Importez
EarlyStoppingdepuistensorflow.keras.callbacks. - Compilez le modèle, encore une fois avec
'adam'commeoptimizer,'categorical_crossentropy'comme fonction de perte, etmetrics=['accuracy']pour voir la justesse à chaque époque. - Créez un objet
EarlyStoppingnomméearly_stopping_monitor. Arrêtez l'optimisation lorsque la perte de validation ne s'est pas améliorée pendant 2 époques en définissant le paramètrepatiencedeEarlyStopping()à2. - Entraînez le modèle en utilisant
predictorsettarget. Indiquezepochsà30et utilisez une part de validation de0.3. De plus, transmettez[early_stopping_monitor]au paramètrecallbacks.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import EarlyStopping
____
# Save the number of columns in predictors: n_cols
n_cols = predictors.shape[1]
input_shape = (n_cols,)
# Specify the model
model = Sequential()
model.add(Dense(100, activation='relu', input_shape = input_shape))
model.add(Dense(100, activation='relu'))
model.add(Dense(2, activation='softmax'))
# Compile the model
____
# Define early_stopping_monitor
early_stopping_monitor = ____
# Fit the model
____