如何在凯拉斯实施三重损失?
问题描述:
我试图实现谷歌的Facenet纸:如何在凯拉斯实施三重损失?
所有的首先,是有可能使用Keras的连续API来实现这一纸或者我应该去的图形API?
在任何情况下,请你告诉我,我如何通过自定义损失函数tripletLoss
到模型编译,我如何收到anchor embedding
,positive embedding
和negative embedding
作为参数来计算损失?
而且,应该是第二个参数Y在model.fit(),我没有任何在这种情况下...
答
This issue介绍如何创建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
参数从它采取的),我会说你可以通过任何你需要一个能够适合通过凯拉斯管道。如果你真的不需要任何监督,也许是一个虚拟矢量来通过维度检查。
最终,至于如何实现这个特定的文件,寻找triplet
或facenet
在Keras doc没有返回任何东西。所以你可能要么自己实现它,要么找到有人。
嘿!你能在Keras上实施Facenet吗?我正在研究一个需要这个项目的项目,并且想知道你是否能够解决这个问题...... – Rob