Keras中多输出模型的validation loss和validation data

validation loss and validation data of multi-output model in Keras

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

1) Keras functional API documentation 表示当有多个输出时,model.fit 可以将 numpy 数组列表作为输出。但是,对于 model.fit 的 validation_data 参数,它表示模型可以采用 (x_val, y_val) 或 (x_val 形式的元组, y_val, val_sample_weights).那么我如何传递第二个输出的 y_val 呢?我是否可以使用 validation_split 来做到这一点,或者验证拆分是否也仅应用于我的输出之一?

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

  1. 指定y_trainy_val都可能是numpy.arrays的列表。根据我的经验 val_split 应该没问题。

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