tensorflow构建数据流图
图片来源于知乎,借用a:
图中a,b,c,d,e为节点,用于表示上图的tensorflow代码如下:
import tensorflow as tf
#a是节点,input_a是数据流
a=tf.constant(4,name="input_a")
b=tf.constant(2,name="input_b")
c=tf.multiply(a,b,name="mul_c")
d=tf.add(a,b,name="add_d")
e=tf.add(c,d,name="add_e")
在运行时可能会报如下错误:
The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
大致意思是:TF库没有编译不能够运行SSE,这是因为我们是通过“pip install tensorflow"安装tensorflow的,而不是通过源码编译安装;
可以添加如下代码解决此问题:
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
运行上面的代码,可以执行,但没有结果输出,此时我们可以定义一个会话:
sess=tf.Session()
sess.run(e)
print(sess.run(e))
如果是在交互界面下执行,sess.run(e)可以输出结果了;如果在python文件里加入print()语句也可以输出结果。
到此,图片上的数据流图的功能都实现了。现在可以尝试用tensorboard进行可视化。需要添加如下代码:
writer=tf.summary.FileWriter('./my_graph',sess.graph)
这样会在工程目录下新建my_graph文件夹,保存计算图;
在终端下输入:
这样会有浏览的地址,点击之后就会进入网页,点击graph栏目就会展示节点和数据的依赖关系,如图: