Tensorflow ставит в очередь данные
Мне интересно, почему реализация x_input_data в этом коде не будет работать должным образом при использовании некомментированной версии, а закомментированная версия будет работать. Кто-нибудь знает причину? Я чувствую, что это как-то связано с указателями на объекты / значения. Спасибо!
import tensorflow as tf
from random import randint
def generate_random_input():
x = []
for a in range(6):
x.append(randint(0,9))
return x
x_input_data = tf.cast(generate_random_input(), tf.float32)
# x_input_data = tf.random_normal([6], mean=-1, stddev=4) <----HERE
q = tf.FIFOQueue(capacity=3, dtypes=tf.float32)
x_input_data = tf.Print(x_input_data, data=[x_input_data], message="Raw inputs data generated:", summarize=6)
enqueue_op = q.enqueue_many(x_input_data)
numberOfThreads = 1
qr = tf.train.QueueRunner(q, [enqueue_op] * numberOfThreads)
tf.train.add_queue_runner(qr)
input = q.dequeue()
input = tf.Print(input, data=[q.size(), input], message="Nb elements left, input:")
# fake graph: START
y = input + 1
# fake graph: END
with tf.Session() as sess:
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
for steps in range(100):
sess.run(y)
coord.request_stop()
coord.join(threads)