Запуск переменных - PullRequest
0 голосов
/ 23 мая 2019

Я совсем новичок в TensorFlow, я пытаюсь использовать переменные, но не получаю то, что ожидаю

Когда я объявляю константу в тензорном потоке, а затем запускаю сеанс, он работает. но когда я пытаюсь сделать то же самое с переменной, это не так.

Ниже вы видите простые эксперименты из командной строки

>>> import tensorflow as tf
>>> sess = tf.Session()
2019-05-23 10:13:49.540813: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
>>> a = tf.constant(5.)
>>> print(sess.run(a))
5.0

>>> b = tf.Variable(5.)
WARNING:tensorflow:From C:\Users\gpapari\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\framework\op_def_library.py:263: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.

>>> print(b)
<tf.Variable 'Variable:0' shape=() dtype=float32_ref>
>>> print(sess.run(b))

После выполнения последней строки я получаю очень длинную ошибку. Что означает ошибка / предупреждение, которое я получаю?

1 Ответ

0 голосов
/ 23 мая 2019

Вам нужно запустить тензор, который инициализирует все переменные в вашем сеансе, например ::100100

# Build graph
b = tf.Variable(5.)

# Get init tensor for all variables defined in the graph
init_op = tf.global_variables_initializer()

sess = tf.Session()

# Initialize all variables for the session
sess.run(init_op)

# Use variables in session
print(sess.run(b))

Изменить, чтобы добавить: возможно, это было бы менее запутанным, если учесть, что переменные часто инициализируются без использования константы, например ::100100

tf.Variable(tf.random_uniform([5], 0, 10))

поэтому инициализатор должен быть выполнен в сеансе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...