1
Я бегу следующий код:TensorFlow неожиданный результат суммирования
import tensorflow as tf
sess = tf.InteractiveSession()
x = tf.placeholder(tf.float32)
y = tf.Variable(5.0)
инициализации = tf.initialize_all_variables() sess.run (INIT)
Ниже дает различные результаты:
y = x + y
for i in xrange(10):
print sess.run(y, {x: 1.0})
Дает: 6, 6, 6, 6, ...
Сравните с:
for i in xrange(10):
y = x + y
print sess.run(y, {x: 1.0})
гравюр: 6,7,8,9 ...
Почему результат отличается? Я думал, что:
sess.run(y, {x: 1.0})
ли: у = х + 1
Вопрос в том, почему первый цикл не меняет значение y? – user6857504
Так работает тензор. Фактически, вычислительный граф - это просто функция, которая имеет некоторые внутренние переменные (y в вашем случае) и может принимать некоторые значения (x) для вычисления других значений в виде комбинаций переменных и заполнителей. Первый для цикла не меняет график, просто оценивая y = y + x, который равен 6 для y = 5 и x = 1. –