2016-08-17 2 views
4

今、テンソルフローを使用してモデルを検証するプログラムを作成しています。私はFIFOQueueを使用して入力データをキューに入れます。たとえば、私は50,000のイメージを持っており、一度に100のイメージをエンキューします。このプログラムは最終的な反復を除いて美しく動作します。最後の反復で、エラー "E tensorflow/core/client/tensor_c_api.cc:485" FIFOQueue '_0_path_queue'が閉じられていて、要素が不足しています(要求1、現在のサイズ0) [[ノード:path_queue_Dequeue = QueueDequeue_class = 0、/ task:0/cpu:0 "]]"Tensorflow FIFOQueueエラー:FIFOQueueが閉じていて、要素が不十分です

"のように入力してください。

50,001〜50,100の画像をエンキューしようとしていますが、これを達成できないと考えています。しかし、私はこれらのイメージをエンキューする必要はなく、それらを使用しません。どうすればこのエラーを回避できますか?

もう1つの質問は、dequeue_many(100)を使用したい場合、イメージの総数が100で割り切れないことです。たとえば、45678です。この場合、tensorflowはエラーをスローします。これをどうすれば解決できますか?

ありがとうございました。

答えて

1

あなたは優雅にすべての例が使い果たされたらトレーニングを終了します特定のエラーをキャッチできます。私は、これはキューが空であることを警告のみですが、エラーが発生しないことを信じて

try: 
    while True: 
     # Run training Ops here... 

except tf.errors.OutOfRangeError: 
    print('Done training -- epoch limit reached') 
0

を。同様の警告が表示されますが、私のプログラムは中断しません。あなたは? this threadを参照してください。

関連する問題