如果我使用注释中显示的constant_initializer,则此错误消失。 测试的tensorflow版本是0.11rc0。 这是一个错误还是误用?
import tensorflow as tf
def cond1(x):
return x < 5
def loop1(x):
with tf.variable_scope("l1", reuse=True):
b = tf.get_variable("b")
x = x + b
return x
def cond2(x):
return x < 10
def loop2(x):
with tf.variable_scope("l2"):
with tf.variable_scope("l1"):
b = tf.get_variable("b", initializer=tf.ones([]))
# shape=[], initializer=tf.constant_initializer(1.)
x = tf.while_loop(cond1, loop1, [x]) + 1.
return x
c = tf.while_loop(cond2, loop2, [0.])
opt = tf.train.GradientDescentOptimizer(0.1)
o = opt.minimize(c)
sess = tf.Session()
sess.run(tf.initialize_all_variables())
sess.run(o)