Arrêt prématuré : Optimisation de l'optimisation
Maintenant que vous savez comment surveiller les performances de votre modèle tout au long de l'optimisation, vous pouvez utiliser l'arrêt précoce pour interrompre l'optimisation lorsqu'elle n'est plus utile. Étant donné que l'optimisation s'arrête automatiquement lorsqu'elle n'est plus utile, vous pouvez également définir une valeur élevée pour l'epochs
dans votre appel à .fit()
, comme l'a montré Dan dans la vidéo.
Le modèle que vous allez optimiser a été spécifié comme suit : model
. Comme précédemment, les données sont préchargées sous les noms predictors
et target
.
Cet exercice fait partie du cours
Introduction au Deep Learning avec Python
Instructions
- Importez
EarlyStopping
à partir detensorflow.keras.callbacks
. - Compilez le modèle, en utilisant à nouveau
'adam'
commeoptimizer
,'categorical_crossentropy'
comme fonction de perte etmetrics=['accuracy']
pour voir la précision à chaque époque. - Créez un objet d'
EarlyStopping
appeléearly_stopping_monitor
. Arrêtez l'optimisation lorsque la perte de validation ne s'est pas améliorée pendant deux époques en spécifiant le paramètre «patience
» de «EarlyStopping()
» sur «2
». - Ajustez le modèle à l'aide des fichiers
predictors
ettarget
. Veuillez indiquer le nombre d'epochs
s à prendre en compte pour l'30
et utiliser une validation fractionnée de0.3
. De plus, veuillez transmettre l'[early_stopping_monitor]
à l'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
____