首页 文章

为什么没有打印张量流队列的输出?

提问于
浏览
0

我的代码如下所示 . 当我第一次运行时,有输出,但是当我第二次运行它时,没有输出 .

My Code:

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()))

这是为什么?

1 回答

  • 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,它会打印3个元素并每次冻结,增加队列capcity将解决相同问题 .

相关问题