Keras中多输出模型的验证损失和验证数据

我想在Keras中训练一个具有一个输入和两个输出的模型,但在设置验证时遇到了一些问题。

1) Keras功能API文档指出,当有多个输出时,model.fit可以接受一个numpy数组列表作为输出。然而,对于model.fit的validation_data参数,它表示模型可以接受(x_val, y_val)或(x_val, y_val, val_sample_weights)形式的元组。那么,我该如何传递第二个输出的y_val呢?我能否使用validation_split来实现这一点,还是validation_split也只会应用于我的一个输出?

2) 另外,传递给EarlyStopping回调的验证损失将会是什么?对于像model.evaluate这样的函数返回的损失,将会返回两个损失值。对于训练,将最小化损失的总和乘以它们的权重。这在EarlyStopping中是如何工作的?我希望提前停止也基于损失总和乘以它们的权重的最小化,但我不知道这是否真的会发生。


回答:

  1. 据规定,y_trainy_val可能是一个numpy.arrays列表。根据我的经验,val_split应该可以正常工作。

  2. 最终损失是所有模型损失的总和,用于检查EarlyStopping标准。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注