web-dev-qa-db-ja.com

ValueError:変数rnn / basic_rnn_cell / kernelはすでに存在し、許可されていません。 VarScopeでreuse = Trueまたはreuse = tf.AUTO_REUSEを設定するつもりでしたか?

以下に示す問題をどのように解決できますか?私がウェブで見つけた情報では、テンソルフロースコープを再利用する問題に関連付けられていますが、何も機能しません。

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)

何か案は?

19
user7304253

これは、モデルを初めて実行するときに(新しいpythonコンソール)を開いたときに)起こりますか?

そうでない場合は、計算グラフをクリアする必要があります。スクリプトの先頭にこの行を置くことでそれを行うことができます。

tf.reset_default_graph()
59
Zoe