Я хочу сделать СЛУЧАЙНЫЙ ТЕНЗОР x и назначить ЖЕ ТЕНЗОР для VARIABLE y. Это означает, что они должны иметь одинаковое значение во время Session.run ().
Но, оказывается, дело не в этом. Так почему у не равен х?
Пожалуйста, помогите анализу и подтвердите приведенный ниже пример. Спасибо.
Обновление:
После применения sess.run (x) и sess.run (y) несколько раз подряд подтвердил, что x меняется каждый раз, пока y остается стабильным. Почему?
import tensorflow as tf
x = tf.random_normal([3], seed = 1)
y = tf.Variable(initial_value = x) # expect y get the same random tensor as x
diff = tf.subtract(x, y)
avg = tf.reduce_mean(diff)
sess = tf.InteractiveSession()
sess.run(y.initializer)
print('x0:', sess.run(x))
print('y0:', sess.run(y))
print('x1:', sess.run(x))
print('y1:', sess.run(y))
print('x2:', sess.run(x))
print('y2:', sess.run(y))
print('diff:', sess.run(diff))
print('avg:', sess.run(avg)) # expected as 0.0
sess.close()
Ouputs: TENSOR x меняет каждую sess.run (x)
x0: [ 0.55171245 -0.13107552 -0.04481386]
y0: [-0.8113182 1.4845988 0.06532937]
x1: [-0.67590594 0.28665832 0.3215887 ]
y1: [-0.8113182 1.4845988 0.06532937]
x2: [1.2409041 0.44875884 0.33140722]
y2: [-0.8113182 1.4845988 0.06532937]
diff: [ 1.2404865 -1.4525002 0.05412297]
avg: -0.04116