关于如何解决下面的问题,有什么建议吗?根据我在网上找到的信息,这与重用 TensorFlow 作用域的问题有关,但我尝试的任何方法都不奏效。
ValueError: Variable rnn/basic_rnn_cell/kernel already exists, disallowed. Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope? Originally defined at: File "/code/backend/management/commands/RNN.py", line 370, in predict states_series, current_state = tf.nn.dynamic_rnn(cell=cell, inputs=batchX_placeholder, dtype=tf.float32) File "/code/backend/management/commands/RNN.py", line 499, in Command predict("string") File "/code/backend/management/commands/RNN.py", line 12, in <module> class Command(BaseCommand):
我尝试了类似这样的方法
with tf.variable_scope('scope'): states_series, current_state = tf.nn.dynamic_rnn(cell=cell, inputs=batchX_placeholder, dtype=tf.float32)
以及这个
with tf.variable_scope('scope', reuse = True ): states_series, current_state = tf.nn.dynamic_rnn(cell=cell, inputs=batchX_placeholder, dtype=tf.float32)
还有这个
with tf.variable_scope('scope', reuse = tf.AUTO_REUSE ): states_series, current_state = tf.nn.dynamic_rnn(cell=cell, inputs=batchX_placeholder, dtype=tf.float32)
有什么建议吗?
回答:
当你第一次运行模型时(在打开新的 Python 控制台时)会发生这种情况吗?
如果不是,你需要清除你的计算图。你可以在脚本的开头添加这行代码来实现。
tf.reset_default_graph()