RNNをtensorflowで構築して、一度途中でプログラムを中断して、また改めてプログラムを走らせたときに以下のエラーが出た(spyder python-3.6使用):
ValueError: Variable rnn/lstm_cell/kernel already exists, disallowed. Did you mean toset reuse=True or reuse=tf.AUTO_REUSE in VarScope? Originally defined at:
File “/home/masahiro/myreserch/rnn_mnist.py”, line 24, in RNN
outputs, states = rnn.static_rnn(lstm_cell, x, dtype=tf.float32)
File “/home/masahiro/myreserch/rnn_mnist.py”, line 32, in <module>
preds = RNN(x) File “/home/masahiro/anaconda3/envs/research/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py”, line 108, in execfile exec(compile(f.read(), filename, ‘exec’), namespace)
よくわからないが、調べてみるとグラフ変数が残っているのが良くないみたいなので、2つの解決策があるようだ。
1:まず、シンプルに、コンソールを再起動。
2:グラフをリセットする
tf.Session(tf.reset_default_graph())
上記のコードをプログラムの最初に書いておく。
これで普通に使えるようになりました。
コメント