fit函数的回调函数需要传入一个列表如下所示:
下面的回调列表实现了两个功能:提前终止,保存模型
patience=100就是100次训练如果loss不再变小就退出,并保存模型
callbacks_list = [
# 目标指标不再有改善了,就可以提前终止
keras.callbacks.EarlyStopping(
monitor=‘loss’, # 被监测的模型的精度
patience=100 # 没有进步的训练轮数为100,在这之后训练就会被停止
),
# 保存模型
keras.callbacks.ModelCheckpoint(
filepath = ‘my_model.h5’, # 文件路径
monitor=‘loss’, # 如果loss 没有改善就不覆盖
save_best_only=True) # 保持最佳模型
]
model.compile(optimizer=RMSprop(lr = 1e-4),
loss = ‘binary_crossentropy’,
metrics = [‘acc’])
history = model.fit(x_train,y_train,
epochs=10,
batch_size=128,
callbacks=callbacks_list,
validation_split = 0.2)
#validation_data=(x_test,y_test))