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 del ejercicio
- Importe los callbacks
EarlyStoppingyModelCheckpointdetensorflow.keras. - Cree
monitor_val_acccomo una llamada de retorno aEarlyStoppingque monitorizará'val_accuracy', con unpatiencede 3 épocas. - Crea
model_checkpointcomo callback deModelCheckpoint, guarda el mejor modelo comobest_banknote_model.hdf5. - Ajuste su modelo proporcionando una lista con los callbacks definidos y
X_testyy_testcomo datos de validación.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el 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 = (____, ____))