【发布时间】:2019-01-11 19:56:20
【问题描述】:
我使用 keras(一个卷积网络)构建了一个自定义架构。该网络有 4 个头,每个头输出一个不同大小的张量。我正在尝试编写一个自定义损失函数作为这 4 个输出的函数。我之前一直在实施自定义损失,但它要么是每个人头的不同损失,要么是每个人头的相同损失。在这种情况下,我需要结合 4 个输出来计算损失。
我已经习惯了:
def custom_loss(y_true, y_pred):
return something
model.compile(optimizer, loss=custom_loss)
但在我的情况下,我需要 y_pred 作为 4 个输出的列表。我可以用零填充输出并在我的模型中添加一个连接层,但我想知道是否有更简单的方法。
编辑
我的损失函数比较复杂,能不能写成这样:
model.add_loss(custom_loss(input1, input2, output1, output2))
自定义损失定义为:
def custom_loss(input1, input2, output1, output2):
return loss
【问题讨论】:
标签: keras deep-learning loss-function