2017-08-09 11 views
0

私のコードは以下のようになります。初めて実行すると出力がありますが、2回目に実行すると出力はありません。プリントテンソルフローの出力がないのはなぜですか?

マイコード:

import tensorflow as tf 
sess = tf.Session() 
q = tf.FIFOQueue(3, "float") 
init = q.enqueue_many(([0., 0., 0.],)) 
x = q.dequeue() 
y = x +1 
q_inc = q.enqueue([y]) 

sess.run(init) 
sess.run(q_inc) 
sess.run(q_inc) 
sess.run(q_inc) 
sess.run(q_inc) 
for i in range(0, 4): 
    print(sess.run(q.dequeue())) 

なぜですか?

答えて

0

容量を3と設定しているため、3つ以上の要素を格納することはできません。 4回目にdequeueを実行しようとすると、プログラムがフリーズします。あなたはthgeキューのcapacityを増やすことができます。

# Dont forget to reset the default graph 
tf.reset_default_graph() 
capacity = 3 
q = tf.FIFOQueue(capacity, "float") 

注:CLIからこのprgramを実行した場合、それはキューcapcityが同じことを解決するだろう増加し、3つの要素を出力し、毎回フリーズします。

+0

貴重な@Ishant Mrinal、あなたの答えに感謝します。ちなみに、プログラムを解凍する方法を教えていただけますか?私は、プログラムがフリーズすると、ノートを閉じて次回に開くが、プログラムはまだ出力されていないことがわかります。 – spark

関連する問題