CommencerCommencer gratuitement

Arrêt anticipé : optimiser l’optimisation

Maintenant que vous savez comment suivre les performances de votre modèle pendant l’optimisation, vous pouvez utiliser l’arrêt anticipé pour interrompre l’optimisation lorsqu’elle n’apporte plus d’amélioration. Comme l’optimisation s’arrête automatiquement lorsqu’elle n’est plus utile, vous pouvez aussi définir 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 est fourni dans model. Comme précédemment, les données sont préchargées dans predictors et target.

Cet exercice fait partie du cours

Introduction au Deep Learning en Python

Afficher le cours

Instructions

  • Importez EarlyStopping depuis tensorflow.keras.callbacks.
  • Compilez le modèle, à nouveau avec 'adam' comme optimizer, 'categorical_crossentropy' comme fonction de perte, et metrics=['accuracy'] pour afficher la précision à chaque époque.
  • Créez un objet EarlyStopping appelé early_stopping_monitor. Interrompez l’optimisation si la perte de validation ne s’est pas améliorée pendant 2 époques en fixant le paramètre patience de EarlyStopping() à 2.
  • Entraînez le modèle avec predictors et target. Indiquez epochs à 30 et utilisez une fraction de validation de 0.3. De plus, passez [early_stopping_monitor] au paramètre callbacks.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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