回调函数 Callbacks 是一组在训练的特定阶段被调用的函数集,你可以使用回调函数来观察训练过程中网络内部的状态和统计信息。然后,在模型上调用 fit() 函数时,可以将 ModelCheckpoint 传递给训练过程。
训练深度学习模型时,Checkpoint 是模型的权重。ModelCheckpoint 回调类允许你定义检查模型权重的位置,文件应如何命名,以及在什么情况下创建模型的 Checkpoint。
from keras.callbacks import ModelCheckpoint
model.compile(optim, loss, metrics=['accuracy'])
# checkpoint
filepath = "best_weights.h5"
checkpoint = ModelCheckpoint(filepath, monitor='val_acc', verbose=0, save_best_only=True, mode='max', period=1)
callbacks_list = [checkpoint]
hist = model.fit(
X_train, y_train,
batch_size = batch_size,
epochs = epochs, verbose = 2,
validation_split = 0.1,
callbacks = callbacks_list
)