gpt4 book ai didi

python - 在 Keras 中编写没有 y_true 的自定义损失函数

转载 作者:行者123 更新时间:2023-11-28 18:17:08 28 4
gpt4 key购买 nike

我正在 Keras 中实现三元组损失函数。通常,损失函数将具有基本事实的预测值作为参数。但是 triplet loss 不使用标签,只使用输出。我试着用一个参数编写函数:

def triplet_loss(y_pred):
margin = 1
return K.mean(K.square(y_pred[0]) - K.square(y_pred[1]) + margin)

triplet_loss() 接受 1 个参数但给出了两个参数(在 score_array = fn(y_true, y_pred) 中)失败了。当我用两个参数编写函数时y_true, y_pred,程序运行没有错误。这是为什么?我是否应该只用这两个参数实现这个函数,尽管 y_true 不会被使用?这是正确的还是还有其他方法吗?

最佳答案

好吧......根本不使用基本事实:

def triplet_loss(y_true,y_pred):
#all your code as it is.

在没有基本事实的情况下训练网络并不常见。当我们期望它学习一些东西时,通常会有一个基本事实。如果你不这样做,只需忽略它。

此外,如果 y_true 被忽略,您将传递给 fit 方法的是什么?只是一个虚拟数组?

关于python - 在 Keras 中编写没有 y_true 的自定义损失函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47639850/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com