如果给出了验证数据,Keras如何选择最终模型



如果损失波动,最后一个训练步骤的损失可能不会最低。

我想知道,如果在Keras中对训练模型进行了验证,Keras如何选择最终模型

  1. Keras通过从整个训练过程中选择验证数据损失最小的模型进行选择

  1. Keras从最终训练步骤中选择最终模型,无论最终模型是否在验证数据上的损失最小

谢谢。

是的,默认情况下,Keras从最终训练步骤返回最终模型,而不管最终模型是否在验证数据上的损失最小。

如果要使用验证数据损失最小的模型,则需要使用带有参数save_best_only的ModelCheckpoint回调。训练完成后,您需要加载保存的模型。就验证数据的损失而言,这将是最好的模型。

save_best_model = ModelCheckpoint(best_model_path, monitor='val_loss', 
save_best_only=True, save_weights_only=True)
# fit model
model.fit(X_train, y_train, 
batch_size=64,
epochs=35,
validation_data=(X_val, y_val), 
callbacks=[save_best_model])
# select the best model
model.load_weights(best_model_path)

相关内容

  • 没有找到相关文章

最新更新