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

标签 validation machine-learning keras deep-learning

如果损失波动,最终的训练步骤可能不会具有最低的损失。

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

  1. Keras 选择整个训练过程中验证数据损失最低的模型

或者

  • Keras 从最终训练步骤中选择最终模型,无论最终模型是否在验证数据上给出最小损失?
  • 谢谢。

    最佳答案

    是的,默认情况下,Keras 从最终训练步骤返回最终模型,无论最终模型是否给出验证数据的最小损失。

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

    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)
    

    关于validation - 如果给出验证数据,Keras 如何选择最终模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65351960/

    相关文章:

    php - Codeigniter 验证规则帮助

    JavaScript;基于一系列数字的有效输入

    c# - 无法让逻辑回归的成本函数发挥作用

    python - Keras 中的图像未标准化

    tensorflow - model.fit和model.predict中的批处理大小

    php - 以字符串形式获取Symfony 2.7中的表单验证错误

    regex - 如何使用正则表达式验证电话号码

    machine-learning - SVM - 能量与损失、正则化与成本函数之间的差异

    machine-learning - Tensorflow 计算图像中的对象数

    keras - keras 何时重置 LSTM 状态?