Отображать изображение графика в TensorFlow?

Я написал простой script для вычисления золотого отношения от 1,2,5. Есть ли способ фактически визуализировать через тензорный поток (возможно, с помощью matplotlib или networkx) фактической структуры графика? Документ тензорного потока довольно похож на факторный граф, поэтому мне было интересно:

Как можно создать изображение структуры графа через тензорный поток?

В этом примере ниже это будет C_1, C_2, C_3 как отдельные узлы, а затем C_1 будет иметь операцию tf.sqrt, за которой следует операция, которая объединяет их. Может быть, структура графика (узлы, ребра) может быть импортирована в networkx? Я вижу, что объекты tensor имеют атрибут graph, но я не узнал, как на самом деле использовать это для целей визуализации.

#!/usr/bin/python

import tensorflow as tf
C_1 = tf.constant(5.0)
C_2 = tf.constant(1.0)
C_3 = tf.constant(2.0)

golden_ratio = (tf.sqrt(C_1) + C_2)/C_3

sess = tf.Session()
print sess.run(golden_ratio) #1.61803
sess.close()

Ответ 1

Вы можете получить изображение графика, используя Tensorboard. Вам нужно отредактировать свой код для вывода графика, а затем вы можете запустить тензограмму и увидеть ее. См., В частности, TensorBoard: графическая визуализация. Вы создаете SummaryWriter и включаете в него sess.graph_def. Граф def будет выводиться в каталог журнала.

Ответ 2

Это именно то, для чего был создан тензор. Вам нужно немного изменить свой код, чтобы хранить информацию о вашем графике.

import tensorflow as tf
C_1 = tf.constant(5.0)
C_2 = tf.constant(1.0)
C_3 = tf.constant(2.0)

golden_ratio = (tf.sqrt(C_1) + C_2)/C_3

with tf.Session() as sess:
    writer = tf.summary.FileWriter('logs', sess.graph)
    print sess.run(golden_ratio)
    writer.close()

Это создаст папку logs с файлами событий в вашем рабочем каталоге. После этого вы должны запустить тензограмму из командной строки tensorboard --logdir="logs" и перейти к URL-адресу, который он дает вам (http://127.0.0.1:6006). В браузере перейдите на вкладку GRAPHS и наслаждайтесь графиком.

Вы будете использовать TB много, если вы собираетесь делать что-либо с TF. Поэтому имеет смысл узнать об этом больше из официального учебники и из этого видео.