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
EarlyStoppingeModelCheckpointdetensorflow.keras. - Crie
monitor_val_acccomo um retorno de chamadaEarlyStoppingque monitorará'val_accuracy', com umpatiencede 3 épocas. - Crie
model_checkpointcomo um retorno de chamadaModelCheckpointe salve o melhor modelo comobest_banknote_model.hdf5. - Ajuste seu modelo fornecendo uma lista com os retornos de chamada definidos e
X_testey_testcomo 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 = (____, ____))