Keras,如何将额外的参数传递给自定义损失函数



我有一个具有多个输出的模型,如:

model_in = Input((None, None, 3))
out_1 = Dense(10)(model_in)
out_2 = Dense(20)(model_in)
model = keras.Model(model_in, [out_1, out_2])
model.compile('adam', loss = [loss_fn_1, loss_fn_2])

对于每个训练样本,我都有一个掩码,应该在我的自定义损失函数中使用(实际上,我的数据生成器根据输入样本生成这个掩码(。因此,对于每个样本,我都有一个输入、两个输出和一个应该在损失函数中使用的掩码。我的问题是,我应该如何将掩码传递给适当的损失函数(我对每个输出使用不同的损失函数(?

您的loss函数有三个参数,因此它不能与kerascompile()fit()一起使用(https://keras.io/api/losses/)。

你有两个选择:

  1. 创建自定义循环或
  2. 创建一个自定义图层并使用add_loss()

相关内容

  • 没有找到相关文章

最新更新