Ich versuche die letzte Schicht von inception-resnet-v2 neu zu trainieren. Folgendes habe ich mir ausgedacht:
train_op
, um nur diese Variablen mit Verlust zu minimieren Und ich habe das wie folgt implementiert:
%Vor%Dies scheint nicht zu funktionieren (Trainingsverlust, Fehler verbessern sich nicht viel von den anfänglichen Werten). Gibt es eine bessere / elegante Möglichkeit, dies zu tun? Es wäre gut für mich zu lernen, wenn du mir auch sagen kannst, was hier schief läuft.
Es gibt mehrere Dinge:
ist der Umfang korrekt eingestellt? Wenn Sie die L2-Regularisierung und die Batch-Normalisierung der Gradienten nicht verwenden, können Sie sehr schnell in ein lokales Minimum fallen und das Netzwerk kann nicht lernen
%Vor%Sie sollten die Regularisierungsvariablen zum Verlust hinzufügen (oder zumindest die der letzten Ebene):
%Vor%Training nur die volle verbundene Schicht ist vielleicht keine gute Idee, ich würde das gesamte Netzwerk trainieren, da die Funktionen, die Sie für Ihre Klasse benötigen, nicht unbedingt in der letzten Schicht definiert sind, aber wenige Schichten vorher und Sie müssen ändere sie.
überprüfe die train_op nach dem Verlust:
%Vor%Tags und Links python tensorflow deep-learning