Wie implementiere ich den Triplet-Verlust in Keras?

8

Ich versuche Google's Facenet-Papier zu implementieren:

Erstens, ist es möglich, dieses Papier mit der Sequential API von Keras zu implementieren, oder sollte ich die Graph-API verwenden?

In beiden Fällen können Sie mir bitte sagen, wie ich die benutzerdefinierte Verlustfunktion tripletLoss an die Modellkompilierung übergibt und wie ich die anchor embedding , positive embedding und negative embedding als Parameter zur Berechnung der Verlust?

Also, was sollte der zweite Parameter Y in model.fit () sein, ich habe in diesem Fall keine ...

    
Prajwal K R 11.10.2016, 06:33
quelle

1 Antwort

2

In diesem Problem wird erläutert, wie in Keras ein benutzerdefiniertes Ziel (Verlust) erstellt wird:

%Vor%

In Bezug auf den Parameter y von .fit() würde ich sagen, dass Sie alles weitergeben können, was Sie benötigen, da Sie es letztendlich sind (der y_true -Parameter der Zielfunktion wird daraus abgeleitet) kann durch Keras Sanitär passen. Und vielleicht überprüft ein Dummy-Vektor, um die Dimension zu überprüfen, ob Sie wirklich keine Aufsicht brauchen.

Um schließlich herauszufinden, wie dieses spezielle Papier implementiert werden kann, hat die Suche nach triplet oder facenet im Keras-Dokument nichts zurückgegeben . Sie müssen es wahrscheinlich entweder selbst implementieren oder jemanden finden, der es hat.

    
Arnaud P 12.10.2016, 17:39
quelle

Tags und Links