繁体   English   中英

如何在Keras中实现三重损失?

[英]How do I implement the Triplet Loss in Keras?

我正在尝试实施Google的Facenet论文:

在此处输入图片说明

首先,可以使用Keras的顺序API来实现本文,还是应该选择Graph API?

无论哪种情况,您能否告诉我如何将自定义损失函数tripletLoss传递给模型编译,以及如何接收anchor embeddingpositive embeddingnegative embedding作为参数来计算损失?

另外,model.fit()中的第二个参数Y应该是什么,在这种情况下我没有任何参数...

此问题说明了如何在Keras中创建自定义目标(损失):

def dummy_objective(y_true, y_pred):
    return 0.5  # your implem of tripletLoss here

model.compile(loss=dummy_objective, optimizer='adadelta')

关于.fit()y参数,由于您是最后处理它的人(目标函数的y_true参数是从中获取的),我想说您可以通过Keras管道传递任何您需要的参数。 如果您真的不需要任何监督,也许可以通过一个虚拟矢量来进行尺寸检查。

最终,关于如何实施此特定论文,在facenet 文档中查找tripletfacenet并没有返回任何结果。 因此,您可能必须自己实施或找一个拥有的人。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM