tensorflow将整个计算表征为一个图(graph),图的节点(node)是Operation(常常简称为ops),节点之间的边(edge)是张量(tensor),不能理解反了。
用图的方式能很容易根据边的连接关系,发现可以并行执行的节点(运算),也更容易分布式部署。此外它专门的编译器可以根据图来生成执行速度更快地代码。也可以将模型存储下来,再用C++等语言实现。
下面依次介绍
1.定义运算——建图(tf.Graph())
图是确立各个tensor之间的运算关系的,比如建立一个图:
#g = tf.get_default_graph()获得默认的graph
graph = tf.Graph()#自己新建立一个graph
with graph.as_default():
variable = tf.Variable(42, name='foo')
initialize = tf.global_variables_initializer()
assign = variable.assign(13)
但我们不需要写前两行,因为tensorflow会在创建任何运算时都会加到默认的图中。
2.开始执行——会话(tf.Session())
图仅仅是静态地定义运算方式,运行是通过建立一个会话(tf.Session())。会话做什么呢?会话会在开始时合理分配机器,内存等资源来做运算。如果设置了