Wenn Ihr Modell mehr Ausgänge liefert, können Sie, indem Sie eine Liste von Keras losses zum loss
Argumente des Modells eine Verlustfunktion für jeden Ausgang zuweisen compile
Methode. wenn Ihr Modell der Form ist zum Beispiel
model = Model(inputs=[input_a, input_b], outputs=[output_a, output_b])
Sie können es wie so kompilieren:
model.compile(
optimizer='rmsprop',
loss=['binary_crossentropy', 'mean_squared_error'],
loss_weights=[1., 0.2]
)
Dies wird eine binäre Quer Entropieverlust zur Ausgabe zuweisen output_a
und einen mittleren quadratischen Fehler Verlust output_b
. Der Verlust, der am Ende minimiert wird, ist eine gewichtete Summe dieser Verluste mit den in loss_weights
angegebenen Gewichten.
Wenn die Ausgabeschichten benannt sind, können Sie alternativ auch loss
und loss_weights
mit Dicts mit dem Namen der Ausgabeschicht als Schlüssel angeben. Dies kann helfen, Mehrdeutigkeiten zu beseitigen, welche Verluste und Gewichte welchen Ausgaben zugewiesen sind.
Weitere Informationen finden Sie unter https://keras.io/getting-started/functional-api-guide/#multi-input-and-multi-output-models.
Ja, das ist absolut möglich. Es gibt jedoch mehrere Möglichkeiten, dies zu tun, abhängig davon, was genau Sie erreichen möchten. Könnten Sie vielleicht Ihre Frage ausarbeiten? Wenn Ihr Modell 2 Ausgaben liefert, können Sie eine Liste von Verlusten angeben und optional Gewichte bereitstellen, z. 'loss_weights = [1., 0.2]'. Weitere Informationen finden Sie unter https://keras.io/getting-started/functional-api-guide/#multi-input-and-multi-output-models. – tiao
Danke! Ich konnte das in einer Liste von zu kompilierenden Argumenten nicht finden(), also nahm ich an, dass es nicht dort war! – Akababa
Gern geschehen! Ich habe meinen Kommentar als vollständige Antwort unten hinzugefügt. Wenn es Ihre Frage zufriedenstellend beantwortet hat, bitte akzeptieren :) – tiao