[英]How do I implement the Triplet Loss in Keras?
我正在尝试实施Google的Facenet论文:
首先,可以使用Keras的顺序API来实现本文,还是应该选择Graph API?
无论哪种情况,您能否告诉我如何将自定义损失函数tripletLoss
传递给模型编译,以及如何接收anchor embedding
, positive embedding
和negative 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
文档中查找triplet
或facenet
并没有返回任何结果。 因此,您可能必须自己实施或找一个拥有的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.