Uma combinação de retornos de chamada
Os modelos de aprendizagem profunda podem levar muito tempo para serem treinados, especialmente quando você passa a usar arquiteturas mais profundas e conjuntos de dados maiores. Salvar o modelo sempre que ele melhorar e interrompê-lo quando não melhorar mais permite que você se preocupe menos com a escolha do número de épocas de treinamento. Você também pode restaurar um modelo salvo a qualquer momento e retomar o treinamento de onde parou.
Os dados de treinamento e validação do modelo estão disponíveis em seu espaço de trabalho como X_train
, X_test
, y_train
e y_test
.
Use o EarlyStopping()
e os retornos de chamada do ModelCheckpoint()
para que você possa comer um pote de biscoitos enquanto deixa o computador para trabalhar!
Este exercício faz parte do curso
Introdução à aprendizagem profunda com o Keras
Instruções do exercício
- Importe os retornos de chamada
EarlyStopping
eModelCheckpoint
detensorflow.keras
. - Crie
monitor_val_acc
como um retorno de chamadaEarlyStopping
que monitorará'val_accuracy'
, com umpatience
de 3 épocas. - Crie
model_checkpoint
como um retorno de chamadaModelCheckpoint
e salve o melhor modelo comobest_banknote_model.hdf5
. - Ajuste seu modelo fornecendo uma lista com os retornos de chamada definidos e
X_test
ey_test
como dados de validação.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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 = (____, ____))