Tensorflow入队FIFO队列未反映在外部

时间:2018-10-01 20:25:17

标签: tensorflow queue

我试图了解FIFO队列操作。

假设我有一个全局定义的队列:

Q = tf.FIFOQueue(20, dtypes=tf.int32, shapes=[(1, 10)])

还有一个将几个张量排入队列的函数

def body():
    y = tf.constant([[1, 2]])
    y = tf.pad(y, [[0, 0], [0, 10 - tf.shape(y)[1]]], constant_values=4)    
    Q.enqueue(y)  
    return True

with tf.Session() as sess:
   res = body()
   print(sess.run(Q.size()) ===> 0

我了解到body函数中的入队操作未运行,这就是为什么未填充队列大小的原因,并且当将函数作为另一个函数的一部分调用时,我不确定如何使其运行一段代码,而无需显式编写sess.run(Q.enqueue(y))

有一个相关的问题here,我也希望能够在while循环的正文中进行入队操作。

我应该如何重写入队操作?

0 个答案:

没有答案