请参阅代码段:
import tensorflow as tf
x = tf.Variable(1)
op = tf.assign(x, x + 1)
with tf.Session() as sess:
tf.global_variables_initializer().run()
print(sess.run([x, op]))
Run Code Online (Sandbox Code Playgroud)
有两种可能的结果:
它们取决于评估的顺序,对于第一种情况,x
在之前进行评估op
,对于第二种情况,x
在之后进行评估op
.
我已多次运行代码,但结果总是如此x=2 and op=2
.所以我想这tensorflow
可以保证x
在之后进行评估op
.这样对吗?如何tensorflow
保证依赖?
对于上面的情况,结果是确定的.但在以下情况中,结果并不确定.
import tensorflow as tf
x = tf.Variable(1)
op = tf.assign(x, x + 1)
x = x + 0 # add this line
with tf.Session() as sess:
tf.global_variables_initializer().run()
for i in range(5):
print(sess.run([x, op]))
Run Code Online (Sandbox Code Playgroud)
在第一个代码中,x
是Variable
和op
依赖于x
,因此x
总是在之后进行评估op
.但在第二种情况下,x
变为Tensor
,op
依赖于Variable x
(之后x = x + 0
,x被覆盖).所以op
不依赖于Tensor x
.
归档时间: |
|
查看次数: |
812 次 |
最近记录: |