2015-12-11 47 views
8

我写了一个简单的脚本来计算从1,2,5的黄金比例。有没有一种方法可以通过张量流实际产生视觉效果(可能借助于matplotlibnetworkx)的实际图形结构?张量流图非常类似于因子图,所以我想知道:在TensorFlow中显示图形图像?

图形结构的图像如何通过张量流生成?

在下面这个例子中,这将是作为C_1, C_2, C_3各个节点,然后C_1将具有tf.sqrt操作,后跟带来在一起的操作。也许图形结构(节点,边缘)可以导入到networkx?我看到tensor对象有一个属性,但我还没有发现如何实际使用这个用于成像目的。

#!/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() 

回答

5

你可以使用Tensorboard图的图像。您需要编辑代码才能输出图形,然后可以启动张量板并查看它。特别参见TensorBoard: Graph Visualization。您创建了一个SummaryWriter并包含其中的sess.graph_def。图形def将被输出到日志目录。

19

这正是张力板的创建原因。您需要稍微修改代码以存储有关图形的信息。

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"运行tensorboard并导航到它提供的url(http://127.0.0.1:6006)。在您的浏览器中,转到图形选项卡并享受您的图形。

如果你打算对TF做任何事情,你将会使用TB。因此,从officialtutorials和从此video了解更多是有意义的。