假设我在计算图中有一些变量v
和一些变量increase_op = tf.assign_add(v, 1)
,但是对于某些不依赖于{{{}的无关运算/张量,我会session.run
increase_op
1}}也没有任何控制依赖。
increase_op
吗?increase_op
会有任何其他副作用,例如预先分配一些内存(例如假设代替tf.assign_add(v, some_very_big_thing)
)?答案 0 :(得分:1)
我可以确定它不会执行increase_op吗?
是
即。如果需要,TensorFlow将始终只执行操作并且不进行任何推测性执行?
是的,大多数tensorflow程序都依赖于这种图形修剪来保证正确性,因此任何改变都必须小心。
计算图中的increase_op是否会产生任何其他副作用,例如预先分配一些内存(例如假设改为tf.assign_add(v,some_very_big_thing))?
如果some_very_big_thing
是tf.constant,那么它将永久耗尽RAM,但如果它是从另一个计算产生的Tensor,那么你将没事。