Проблема при снятии очереди (Tensorflow, python3.4) - PullRequest
0 голосов
/ 26 ноября 2018

У меня проблема при списании предметов.Вот мой код:

input_queue = data_flow_ops.FIFOQueue(capacity=10000     ,
                                            dtypes=[tf.string, tf.int64],
                                            shapes=[(3,), (3,)],
                                            shared_name=None, name=None)
enqueue_op = input_queue.enqueue_many([image_paths_placeholder, labels_placeholder])

filenames_image, label_image = input_queue.dequeue()
pfi = tf.Print(filenames_image, data=[input_queue.size(), filenames_image], message='This is how many items are left in q1: ')
filenames_sound, label_sound = input_queue.dequeue()
pfs = tf.Print(filenames_sound, data=[input_queue.size(), filenames_sound], message='This is how many items are left in q2: ')

В сеансе "image" и "son" представляют собой список путей (строка):

while h < 50 :
    sess.run(enqueue_op, {image_paths_placeholder: image, labels_placeholder: labelI})
    sess.run(enqueue_op, {image_paths_placeholder: son, labels_placeholder: labelS}
    filename_i,filename_s,_,_,=sess.run([filenames_image,filenames_sound,pfi,pfs],feed_dict=feed_dict)

А иногда я незнаю почему, как и когда, очередь не делает то, что я хочу.

Я хочу

This is how many items are left in q2: [1][I1,I2,I3]
This is how many items are left in q1: [0][S1,S2,S3]

Но я часто получаю другие вещи,

This is how many items are left in q2: [2][S1,S2,S3]
This is how many items are left in q1: [2][I1,I2,I3]

Или даже

This is how many items are left in q2: [2][I1,I2,I3]
This is how many items are left in q1: [0][S1,S2,S3]

This is how many items are left in q2: [1][S1,S2,S3]
This is how many items are left in q1: [1][I1,I2,I3]

Если бы кто-то мог объяснить, как работает очередь и почему не работает мой код, это было бы здорово!

Заранее спасибо.

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