tensorflow session 和 graph
Posted wuxiangli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tensorflow session 和 graph相关的知识,希望对你有一定的参考价值。
graph即tf.Graph(),session即tf.Session(),很多人经常将两者混淆,其实二者完全不是同一个东西。
- graph定义了计算方式,是一些加减乘除等运算的组合,类似于一个函数。它本身不会进行任何计算,也不保存任何中间计算结果。
- session用来运行一个graph,或者运行graph的一部分。它类似于一个执行者,给graph灌入输入数据,得到输出,并保存中间的计算结果。同时它也给graph分配计算资源(如内存、显卡等)。
TensorFlow是一种符号式编程框架,首先要构造一个图(graph),然后在这个图上做运算。打个比方,graph就像一条生产线,session就像生产者。生产线具有一系列的加工步骤(加减乘除等运算),生产者把原料投进去,就能得到产品。不同生产者都可以使用这条生产线,只要他们的加工步骤是一样的就行。同样的,一个graph可以供多个session使用,而一个session不一定需要使用graph的全部,可以只使用其中的一部分。
以上是关于tensorflow session 和 graph的主要内容,如果未能解决你的问题,请参考以下文章
Tensorflow 1.0—— Graph(图)和Session(会话)
在 TensorFlow 中,Session.run() 和 Tensor.eval() 有啥区别?
如何编写代码以避免'tensorflow'没有属性'Session'和'global_variables_initializer'的错误