CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Importez EarlyStopping depuis tensorflow.keras.callbacks.
  • Compilez le modèle, encore une fois avec 'adam' comme optimizer, 'categorical_crossentropy' comme fonction de perte, et metrics=['accuracy'] pour voir la justesse à chaque époque.
  • Créez un objet EarlyStopping nommé 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ètre patience de EarlyStopping() à 2.
  • Entraînez le modèle en utilisant predictors et target. Indiquez epochs à 30 et utilisez une part de validation de 0.3. De plus, transmettez [early_stopping_monitor] au paramètre callbacks.

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
____
Modifier et exécuter le code