Ich bekomme ein Problem, wenn ich im2txt Quellcode in im2txt lesen.Batch_loss und total_loss = tf.get_total_loss() in Tensorflow
Es gibt batch_loss
und total_loss
: batch_loss
wird für jede Chargendaten berechnet und wird in tf.Graphkeys.LOSSES
von tf.add_loss(batch_loss)
Anruf hinzugefügt. Die total_loss
ist von tf.losses.get_total_loss()
, die den gesamten Verlust in tf.Graphkeys.LOSSES
Durchschnitt.
Frage: warum Parameter von total_loss aktualisiert werden? Ich war viele Tage von diesem Problem verwirrt.
Ich habe nichts verstanden. Wie wirkt sich die Schadensmeldung auf Backpropagation und Parameter-Updates aus? – Maxim
meiner Meinung nach Parameter werden von Batch_loss aktualisiert, die von jeder Batch-Daten berechnet werden sollte, ist dies in Machine Learning, in [im2txt] (https://github.com/tensorflow/models/blob/master/research/ im2txt/im2txt/show_and_tell_model.py), der gesamte Datensatz ist in viele Stapel unterteilt, und im2txt berechnete den Verlust jeder Stapeldaten und fügte den Verlust in tf.Graphkeys.LOSSES hinzu, berechnete dann den total_loss und schließlich die Parameter durch total_loss Warum werden die Parameter also von total_loss, nicht aber vom Batch_loss aktualisiert? – legend4917
Backprop und Parameteraktualisierung hängen von dem bewerteten Verlust * derivate * ab. Der rohe Verlustwert ist nur eine Hilfsinformation. – Maxim