2017-09-22 4 views
0

最初は、Tensorflow APIについて何か誤解していると思いました。今私はJupyterのノートブックで可変範囲がどのように管理されているのか誤解していると思います。Tensorflow LSTM可変スコープValueErrorが複数のJupyterセルに跨っている場合

TensorflowのLSTMチュートリアルの例recurrent_network.pyは、すべてのコードをjupyterノートブックの1つのセルに入れて実行すると美しく機能します。

 15  # Get lstm cell output 
---> 16  outputs, states = rnn.static_rnn(lstm_cell, x, dtype=tf.float32) 

ValueError: Variable rnn/basic_lstm_cell/kernel already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at: site-packages\tensorflow\python\framework\ops.py", line 1269, in init

他のStackOverflowの記事はの発生に対処:私は別々のセルにプログラムを彫るときには、適切な順序(最初の定義など)のすべてを実行している場合でも、私は、変数のスコープのエラーを取得しますこのエラーは、人々が基本的なLSTMセルを再利用しているのにLSTMセルを再利用していない場合に発生します。またrecurrent_network.pyのコードは、私が1つのセルにまとめた限り、私のjupyterノートブックでうまく動作します。

何が起こっている可能性がありますか?

+0

セルにどのように分割して表示することができますか? – Aaron

答えて

0

明らかに、私はrecurrent_network.pyを実行してから自分自身の変更したバージョンを実行したので、LSTMセルを再利用していました。ジュピターカーネルを再起動することで、私の間違いを発見した問題が修正されました。

セッションが終了するのに十分ではないことに注意してください。明らかに、同じノートブックにBasicLSTMCellを複数回呼び出すだけで、問題が発生します。

関連する問題