tensorflow是否一次又一次地计算不同提取中的公共操作?

时间:2018-03-30 16:27:04

标签: python-3.x tensorflow

我想问的一个极端情况是:

tf.Session().run(fetches = [a,a], feed_dict = feed_dict)

这里的tensorflow会运行两次相同的计算吗?

1 个答案:

答案 0 :(得分:2)

不,tensorflow将仅计算您的请求,不多也不少。如果两个计算依赖于相同的代码位,例如两个损失函数取决于相同的神经网络核心,则核心将不会被计算两次。另一方面,如果张量流中的OP 需要执行计算,则tensorflow将计算它。这是张量流依赖图提供的神奇之处。

另请注意,在调用sess.run之间将重新计算任何OP(操作),因为在sess.run的调用之间不存储OP,这是对sess.run的调用之间唯一保留的内容是变量。