In your code, x1
and y1
are random number generators. They take different values each time they are called. So when you call subtraction
, which in turns call your number generators x1
and y1
, there is no reason to obtain results that are consistent with previous calls.
To achieve what you are looking for, store the values in a Variable
:
import tensorflow as tf
x1 = tf.Variable(tf.random_uniform([1], 0, 10, tf.int32))
y1 = tf.Variable(tf.random_uniform([1], 0, 10, tf.int32))
subtraction = x1 - y1
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(x1))
print(sess.run(y1))
print(sess.run(subtraction))
Alternatively, if you don't need persistence between iterations and can call all the operators relying on your number generators at once, pack them into the same call to sess.run
:
import tensorflow as tf
x1 = tf.random_uniform([1], 0, 10, tf.int32)
y1 = tf.random_uniform([1], 0, 10, tf.int32)
subtraction = x1 - y1
with tf.Session() as sess:
print(sess.run([x1, y1, subtraction]))
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…