是否有可能在TesorFlow中向后构建图形?

时间:2016-06-17 10:19:31

标签: tensorflow

我想知道是否可以向后构建这个图,所以代替:

n1 = tf.add(2,3)
n2 = tf.add(2,n1)
n3 = tf.add(n1,n2)

这样:

n1 = None
n2 = None
n3 = tf.add(n1,n2)
n2 = tf.add(2,n1)
n1 = tf.add(2,3)

理想情况下,没有任何额外的结构,并且必然没有性能损失。

1 个答案:

答案 0 :(得分:1)

对于标准的TensorFlow操作,例如tf.add() op的所有输入必须在构造op之前构建。这是一个深思熟虑的设计选择,使得更难以意外地构建无效图形(例如,形成错误的循环)。

然而,正如Pete在his comment中所说,TensorFlow Python绑定只是创建NodeDef协议缓冲区的函数的包装。原则上,您可以创建自己的包装器,从而可以向后创建图形。如果不更好地理解用例,我们不太可能在标准库中支持它。