web-dev-qa-db-fra.com

ValueError: la variable rnn / basic_rnn_cell / kernel existe déjà, non autorisée. Voulez-vous dire que reuse = True ou reuse = tf.AUTO_REUSE dans VarScope?

Des idées comment puis-je résoudre le problème ci-dessous? Avec les informations que j'ai trouvées sur le Web, il est associé à un problème de réutilisation du tensorflow, mais rien ne fonctionne.

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):

J'ai essayé par exemple quelque chose comme ça

with tf.variable_scope('scope'):
 states_series, current_state = tf.nn.dynamic_rnn(cell=cell, inputs=batchX_placeholder, dtype=tf.float32)

et ça

with tf.variable_scope('scope', reuse = True ):
 states_series, current_state = tf.nn.dynamic_rnn(cell=cell, inputs=batchX_placeholder, dtype=tf.float32)

et ça

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)

Des idées?

19
user7304253

Cela se produit-il lorsque vous exécutez le modèle pour la première fois (lors de l'ouverture d'une nouvelle console python))?

Sinon, vous devez effacer votre graphique de calcul. Vous pouvez le faire en mettant cette ligne au début de votre script.

tf.reset_default_graph()
59
Zoe