60
задан 7 July 2018 в 20:56

3 ответа

Необходимо инициализировать переменные перед использованием их. ​

, При попытке оценить переменные прежде, чем инициализировать их, Вы столкнетесь: FailedPreconditionError: Attempting to use uninitialized value tensor.

самый легкий путь инициализирует все переменные сразу с помощью: tf.global_variables_initializer()

init = tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)

Вы используете sess.run(init) для выполнения инициализатора, не выбирая значения.

Для инициализации только подмножества переменных Вы используете tf.variables_initializer() список переменных:

var_ab = tf.variables_initializer([a, b], name="a_and_b")
with tf.Session() as sess:
    sess.run(var_ab)

можно также инициализировать каждую переменную отдельно с помощью tf.Variable.initializer

# create variable W as 784 x 10 tensor, filled with zeros
W = tf.Variable(tf.zeros([784,10])) with tf.Session() as sess:
    sess.run(W.initializer)
2
ответ дан 1 November 2019 в 09:47

FailedPreconditionError прибывает, потому что сессия пытается считать переменную, которую инициализировал hasn "t.

С версия 1.11.0 Tensorflow , необходимо взять это:

init_op = tf.global_variables_initializer()

sess = tf.Session()
sess.run(init_op)
1
ответ дан 1 November 2019 в 09:47

Возможно что-то изменилось в недавних сборках TensorFlow, потому что для меня, работая

sess = tf.Session()
sess.run(tf.local_variables_initializer())

прежде, чем соответствовать любым моделям, кажется, добивается цели. Большинство более старых примеров и комментариев, кажется, предлагают tf.global_variables_initializer().

0
ответ дан 1 November 2019 в 09:47

Другие вопросы по тегам:

Похожие вопросы: