tf.while_loop错误“节点的所有输入必须来自同一帧”

时间:2016-10-20 09:30:05

标签: tensorflow

如果我使用注释中显示的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)

0 个答案:

没有答案