ValueError: переменная rnn/basic_rnn_cell/kernel уже существует, запрещена. Вы хотели установить reuse = True или повторно использовать = tf.AUTO_REUSE в VarScope?

Любые идеи, как я могу решить проблему, показанную ниже? С информацией, которую я нашел в Интернете, она связана с проблемой повторного использования области тензорного потока, однако ничего не работает.

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)

Есть идеи?

Ответ 1

Это происходит, когда вы запускаете модель в первый раз (при открытии новой консоли python)?

Если нет, вам нужно очистить вычислительный граф. Вы можете сделать это, поставив эту строку в начале вашего скрипта.

tf.reset_default_graph()