Tensorflow Enqueue FIFO Queue не отражается снаружи - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь понять операции очереди 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

Я понимаю, что операция enqueue в функции body не выполняется, поэтому размер очереди не заполняется, и я не уверен, как заставить ее работать, когда функция вызывается как часть другойфрагмент кода, без явной записи sess.run(Q.enqueue(y)).

Есть связанная проблема здесь , и я также хотел бы иметь возможность выполнять операции постановки в очередь в теле цикла while.

Как мне переписать операционную систему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...