2016-05-31 6 views
0

Я использую tensorflow модель РНН перевод опубликован здесь:
translation modelНаблюдение tensorflow РНН модели весов

Я хочу, чтобы внести изменения в часть этого кода в соответствии с моими собственными идеями.
Первое, что я хочу сделать, это увидеть target_weights в каждом слое.
Я знаю, что сначала массив target_weights, который содержит нули для заполнения и 1 для каждого слова в предложении.
После инициализации он подается на метод session.run, и он обязательно изменится.
Теперь я хочу знать, знает ли кто-нибудь, как мне увидеть изменение этого массива во время процесса обучения.
Или что-то еще, как я могу видеть каждый вес слоя и проверять значения, соответствующие каждому слою.

Заранее спасибо

ответ

1

То, что вы ищете, вероятно TensorBoard, который дает возможность визуализировать произвольные значения/статистику вашей сети.

tensorboard

Все, что вам нужно сделать, это добавить summarizers в коде, например, через

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

и позже создать краткое содержание писателю

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

Который будет создавать журналы , который вы можете анализировать через тензограмму. То, как вы определяете резюме, какие вещи вы регистрируете и т. Д. Зависит от вас и зависит исключительно от проблемы. Вы хотите отслеживать каждый вес отдельно? Если это так - добавьте скалярные сводки к каждому из них. Вы хотите только короткую эволюцию? Сосредоточьтесь на нормах этих. Вы также можете контролировать гистограммы (например, распределение активации, например) до tf.histogram_summary и так далее.

+0

спасибо большое. infact Я хочу проверить веса на первом шаге, а затем сравнить его с тем, что мне нужно, чтобы иметь реальные значения этого массива в моем коде. что я должен добавить в свой код? – Paniz

Смежные вопросы