Tensorflow 多次进料张紧器流量FIFOQUUE 我试图在训练中重置并重新输入一个FIFI队列。可能吗
我添加了一个代码来实现这一点。这个实现能够向训练过程添加新的值,但是它不能删除旧的元素,所以我需要找到一种方法来停止旧的队列运行程序。我尝试了Tensorflow 多次进料张紧器流量FIFOQUUE 我试图在训练中重置并重新输入一个FIFI队列。可能吗,tensorflow,queue,deep-learning,tensorflow-gpu,Tensorflow,Queue,Deep Learning,Tensorflow Gpu,我添加了一个代码来实现这一点。这个实现能够向训练过程添加新的值,但是它不能删除旧的元素,所以我需要找到一种方法来停止旧的队列运行程序。我尝试了sess.run(qr.close\u op)和sess.run(qr.cancel\u op),但没有成功 另外,我不想重新创建图形并重用变量tf.train.string\u input\u producer在原始实现中无法满足我的需要 with tf.Session() as sess: biases = tf.Variable(tf.zeros(
sess.run(qr.close\u op)
和sess.run(qr.cancel\u op)
,但没有成功
另外,我不想重新创建图形并重用变量tf.train.string\u input\u producer
在原始实现中无法满足我的需要
with tf.Session() as sess:
biases = tf.Variable(tf.zeros([1]), name="biases")
sess.run(tf.global_variables_initializer())
coord = tf.train.Coordinator()
queue = tf.FIFOQueue(capacity=50, dtypes=[tf.float32], shapes=[[]])
numbers = queue.dequeue()
batch_numbers = tf.train.batch([numbers], batch_size=20)
batch_numbers = tf.multiply(batch_numbers, 10.0) + biases # simulate a network operation
#Need to change the content of the queue 10 times
for k in range(10):
input_numbers = [k*1.0 for i in range(100)]
queue_op = queue.enqueue_many([input_numbers])
qr = tf.train.queue_runner.QueueRunner(queue, [queue_op]*5)
tf.train.queue_runner.add_queue_runner(qr)
threads = tf.train.start_queue_runners(coord=coord)
for step in xrange(100):
if coord.should_stop():
break
batch = sess.run([batch_numbers])
print(batch)
print("finished that batch")