Я пытался понять, как инициализируются переменные в Tensorflow. Ниже я создал простой пример, который определяет переменную в некотором variable_scope
, и процесс завернут в подфункцию.Переменная инициализация в переменной_scope в Tensorflow
В моем понимании, этот код создает переменную 'x'
внутри 'test_scope'
на tf.initialize_all_variables()
стадии, и всегда можно получить после этого с помощью tf.get_variable()
. Но этот код закончил с ошибкой Attempting to use uninitialized value
на линии print(x.eval())
.
Я не имею ни малейшего представления о том, как Tensorflow инициализирует переменные. Могу ли я получить помощь? Спасибо.
import tensorflow as tf
def create_var_and_prod_with(y):
with tf.variable_scope('test_scope'):
x = tf.Variable(0.0, name='x', trainable=False)
return x * y
s = tf.InteractiveSession()
y = tf.Variable(1.0, name='x', trainable=False)
create_var_and_prod_with(y)
s.run(tf.initialize_all_variables())
with tf.variable_scope('test_scope'):
x = tf.get_variable('x', [1], initializer=tf.constant_initializer(0.0), trainable=False)
print(x.eval())
print(y.eval())
Благодарим за помощь! Я сделал это вместе с вашим предложением, и это сработало! – kohta
Добро пожаловать. Если мой ответ решит вашу проблему, не забудьте отметить его как принятый. – nessuno