2017-02-20 7 views
0

Ich habe für meine Daten FCN32 für semantische Segmentierung von Grund auf neu trainiert, und ich bekam die folgende Ausgabe: enter image description hereWie kann ich das Lernen von FCN32 für die semantische Segmentierung verbessern?

Wie es gesehen werden kann, ist dies nicht eine gute Lernkurve eine schlechte Ausbildung auf Daten zeigt. solver ist wie folgt:

net: "train_val.prototxt" 
#test_net: "val.prototxt" 
test_iter: 5105 #736 
# make test net, but don't invoke it from the solver itself 
test_interval: 1000000 #20000 
display: 50 
average_loss: 50 
lr_policy: "step" #"fixed" 
stepsize: 50000 #+ 
gamma: 0.1 #+ 
# lr for unnormalized softmax 
base_lr: 1e-10 
# high momentum 
momentum: 0.99 
# no gradient accumulation 
iter_size: 1 
max_iter: 600000 
weight_decay: 0.0005 
snapshot: 30000 
snapshot_prefix: "snapshot/FCN32s_CNN1" 
test_initialization: false 
solver_mode: GPU 

nach der Lernrate auf 0,001 zu ändern, es wurde noch schlimmer: enter image description here Ich frage mich, was kann ich für die Verbesserung der Ausbildung zu tun? Danke

Antwort

0

Sie können versuchen, die Lernrate zu variieren. Gute Werte liegen normalerweise zwischen 0,1 und 0,0001.

+0

Danke für Ihren Vorschlag, ich habe die Frage bearbeitet, als ich die Lernrate auf 0,001 eingestellt habe, wird die Lernkurve schlechter. –

+0

Der Verlust ist eigentlich zahlenmäßig besser. Aber deine Lernrate scheint jetzt zu hoch. –

+0

Danke Thomas für deinen Vorschlag –

Verwandte Themen