组合使用回调函数
深度学习模型的训练可能耗时很长,尤其是在模型更深、数据集更大时。每当性能提升时保存模型,并在性能不再提升时提前停止训练,这样您就不必过于纠结训练多少个 epoch。您也可以在任意时间恢复已保存的模型,并从中断处继续训练。
工作区中已经提供训练与验证数据:X_train、X_test、y_train 和 y_test。
请使用 EarlyStopping() 和 ModelCheckpoint() 回调。把训练交给电脑,您就可以安心去享用一大罐曲奇啦!
本练习是课程的一部分
Keras 深度学习入门
练习说明
- 从
tensorflow.keras导入EarlyStopping和ModelCheckpoint两个回调。 - 创建
monitor_val_acc,作为一个EarlyStopping回调,监控'val_accuracy',patience设为 3 个 epoch。 - 创建
model_checkpoint,作为一个ModelCheckpoint回调,将最优模型保存为best_banknote_model.hdf5。 - 拟合模型时,传入包含上述回调的"列表",并使用
X_test与y_test作为验证数据。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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 = (____, ____))