如何添加张量流损失函数?

Posted

技术标签:

【中文标题】如何添加张量流损失函数?【英文标题】:how to add tensorflow loss functions? 【发布时间】:2021-11-20 20:05:14 【问题描述】:

我不能将这两个损失加起来如下

real_loss = tf.losses.BinaryCrossentropy(tf.ones_like(train_images[0]),train_images[0])
fake_loss = tf.losses.BinaryCrossentropy(tf.zeros_like(train_images[0]),train_images[0])
fake_loss+real_loss

错误是:

TypeError:+ 不支持的操作数类型:“BinaryCrossentropy”和“BinaryCrossentropy”

【问题讨论】:

【参考方案1】:

您可以在model.compile 中将它们添加为多个损失

model.compile(loss = [loss1,loss2], loss_weights = [l1,l2], ...)

这转换为final_loss = l1*loss1 + l2*loss2。只需将l1l2 设置为1。

【讨论】:

以上是关于如何添加张量流损失函数?的主要内容,如果未能解决你的问题,请参考以下文章

使用张量流在 keras 中对损失函数的输入进行切片

张量流中带有循环的自定义损失

计算张量流损失时的几何平均值

如何在 Keras 自定义损失函数中使用张量?

如何在自定义损失函数中迭代张量?

如何在张量流的自定义损失中获取张量的形状