Pytorch - wie zu verwenden-BCE-Verlust
Ich soll das schreiben einer einfachen autoencoder in pytorch und verwenden BCELoss, jedoch bekomme ich NaN aus, da es erwartet, dass die Ziele auf, die zwischen 0 und 1. Könnte jemand post ein einfacher use case BCELoss ?
github.com/pytorch/examples/blob/master/vae/main.py#L80-L85
Haben Sie Hinzugefügt, der sigmoid-Funktion für die Letzte Schicht in Ihrem Netzwerk?
Nein, die Letzte Schicht hat keine Aktivierung.
Haben Sie Hinzugefügt, der sigmoid-Funktion für die Letzte Schicht in Ihrem Netzwerk?
Nein, die Letzte Schicht hat keine Aktivierung.
InformationsquelleAutor Qubix | 2017-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Edit: Dieses Problem wurde gelöst, mit Pull #1792, so dass
BCELoss
ist numerisch stabil jetzt.Wenn Sie bauen pytorch von der Quelle, die Sie verwenden können, die numerisch stabile Funktion
BCEWithLogitsLoss
(Beitrag in https://github.com/pytorch/pytorch/pull/1792), die logits als Eingabe.Andernfalls können Sie folgende Funktion verwenden (beigetragen von yzgao in der oben genannten Ausgabe):
InformationsquelleAutor cheezer
Möchten Sie vielleicht die Verwendung einer sigmoid-Schicht am Ende des Netzwerks. Auf diese Weise würde die Zahl repräsentieren Wahrscheinlichkeiten. Stellen Sie außerdem sicher, dass die targets sind Binär-zahlen. Wenn Sie posten Sie Ihre vollständigen code könnten wir mehr helfen.
InformationsquelleAutor Roger Trullo