在尝试定义RNN op时遇到了一些奇怪的事情,想寻求帮助。 循环是这样的:
_, outputs, _ = tf.while_loop(
cond=lambda time_step, *_: time_step < steps,
body=b,
loop_vars=(time_step, outputs, state))
并且主体使用softmax层,该层在范围“ caption_rnn”内包含tf.contrib.layers.fully_connected层,并将重用设置为false。
当我运行while_loop时,一切都很好。 但是,我想知道:
与此同时,我尝试用多个调用替换while_loop,如下所示:
time_step,输出,状态= b(time_step,输出,状态) time_step,输出,状态= b(time_step,输出,状态) time_step,输出,状态= b(time_step,输出,状态)
这样,我确实出现了错误:
ValueError:变量caption_rnn / weights已经存在,不允许使用。 您是要在VarScope中设置“ reuse = True”还是“ reuse = tf.AUTO_REUSE”? 最初定义在:.....
有人可以告诉我这里发生了什么吗?非常感谢你!