2016-05-31 10 views
0

Ich verwende tensorflow rnn Übersetzungsmodell hier veröffentlicht:
translation modelBeobachten tensorflow rnn Modell Gewichte

Ich möchte Änderungen in Teil dieses Codes machen nach meiner eigenen Ideen.
Als erstes möchte ich die target_weights in jeder Schicht sehen.
Was ich weiß, ist, dass zunächst ein Array von target_weights Nullen für Padding und 1 für jedes Wort in einem Satz enthält.
Nach der Initialisierung wird es in eine session.run-Methode eingespeist und es wird sich sicher ändern.
Jetzt möchte ich wissen, ob jemand weiß, wie ich die Änderung dieses Array während des Lernprozesses sehen sollte.
Oder etwas anderes, wie kann ich jede Schicht Gewichte sehen und überprüfen Sie die Werte für jede Schicht.

Vielen Dank im Voraus

Antwort

1

Was Sie suchen, ist wahrscheinlich TensorBoard, die Sie Fähigkeit gibt, beliebige Werte/Statistiken des Netzwerks sichtbar zu machen.

tensorboard

Alles, was Sie tun müssen, ist summarizers in Ihrem Code hinzuzufügen, zum Beispiel durch

tf.scalar_summary("norm of weights going", norm_of_weights) 

und späte Zusammenfassung Schriftsteller

merged = tf.merge_all_summaries() 
writer = tf.train.SummaryWriter("logs_directory/", sess.graph_def) 

zu schaffen, die Ihre Protokolle schaffen , die Sie durch Tensorboard analysieren können. Die Art, wie Sie Zusammenfassungen definieren, welche Dinge Sie protokollieren etc. liegt bei Ihnen und hängt ausschließlich vom Problem ab. Möchten Sie jedes Gewicht separat verfolgen? Wenn dem so ist - fügen Sie jedem einzelnen skalare Zusammenfassungen hinzu. Sie möchten nur eine kurze Entwicklung? Konzentriere dich auf Normen davon. Sie können auch Histogramme (zB die Verteilung von Aktivierungen) über tf.histogram_summary und so weiter überwachen.

+0

vielen Dank. Eigentlich möchte ich Gewichte im ersten Schritt überprüfen und dann mit etwas vergleichen, das ich brauche, um die tatsächlichen Werte dieses Arrays in meinem Code zu haben. Was sollte ich meinem Code hinzufügen? – Paniz

Verwandte Themen