3

RNN の作業中に奇妙な問題が発生しました。私はTensorFlow RNN チュートリアルに従い、 R2RT のブログ投稿: Recurrent Neural Networks in Tensorflow I に非常に触発された独自の (より単純な) 実装を試しています。

デバッグ後ranger_input_producertensorflow.models.rnn.ptb.reader.py (行 115) で問題が発生していることを確認しました。

最小の例でそれを分離しました:

import tensorflow as tf

epoch_size = 20
i = tf.train.range_input_producer(epoch_size, shuffle=False).dequeue()

これは何ですかptb_producer( の変数値付きepoch_size)。結局、このコードはそのままでは終了しないことがわかりました (私は何も呼び出しsession.run(...)たり、CPU を使用したりしません。 Daving Wong によって提案されたように、キューが何かを待っていると思います。

手がかりはありますか?どうも

pltrdy

4

2 に答える 2

6

のコードを使用するだけの場合は with tf.Session() as sess:、 で明示的にスレッドを開く必要があります threads = tf.train.start_queue_runners()。しかし、ptb_word_lm.py では、このようなコードを使用しています。Supervisor sv = tf.train.Supervisor() with sv.managed_session() as sess:() 関数には、暗黙的にスレッドを開始するものが含まれています。

于 2016-12-03T03:02:52.217 に答える
0

空のキューが原因で、デキュー I/O ブロックにヒットしている可能性があります。(ptb_producer は、FIFOQueue を使用する tf.train.range_input_producer を使用します。)ドキュメントによると、返す要素が存在するまでキューはブロックされます。ディレクトリとデータを再確認してください。

于 2016-11-03T17:28:31.183 に答える