Una combinación de devoluciones de llamada
Los modelos de aprendizaje profundo pueden tardar mucho tiempo en entrenarse, especialmente cuando se pasa a arquitecturas más profundas y conjuntos de datos más grandes. Guardar el modelo cada vez que mejora y detenerlo cuando ya no lo hace le permite preocuparse menos por elegir el número de épocas de entrenamiento. También puedes restaurar un modelo guardado en cualquier momento y reanudar el entrenamiento donde lo dejaste.
Los datos de entrenamiento y validación del modelo están disponibles en su espacio de trabajo como X_train
, X_test
, y_train
, y y_test
.
Utiliza EarlyStopping()
y las devoluciones de llamada de ModelCheckpoint()
para que puedas ir a comerte un tarro de galletas mientras dejas el ordenador para trabajar.
Este ejercicio forma parte del curso
Introducción al aprendizaje profundo con Keras
Instrucciones de ejercicio
- Importe los callbacks
EarlyStopping
yModelCheckpoint
detensorflow.keras
. - Cree
monitor_val_acc
como una llamada de retorno aEarlyStopping
que monitorizará'val_accuracy'
, con unpatience
de 3 épocas. - Crea
model_checkpoint
como callback deModelCheckpoint
, guarda el mejor modelo comobest_banknote_model.hdf5
. - Ajuste su modelo proporcionando una lista con los callbacks definidos y
X_test
yy_test
como datos de validación.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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 = (____, ____))