Tensorflow连续slice_input_producer

时间:2017-03-06 05:43:47

标签: tensorflow deep-learning

我对tf.train.slice_input_producer的工作原理感到困惑,我知道它会返回一个dequeue op,但是如果我在之前的出列张量上应用另一个slice_input_producer,那么似乎第二个slice_input_producer被触发了第一个没有完成切片的排队。

以下是一个示例代码:

x = np.arange(6).reshape([2, 3])
input_x = tf.constant(x, dtype=tf.int32)

[row] = tf.train.slice_input_producer([input_x], num_epochs=1, shuffle=False)
[cloumn] = tf.train.slice_input_producer([row], num_epochs=1, shuffle=False)

init_op = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer())

sess = tf.Session()
sess.run(init_op)

coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(sess=sess, coord=coord)

print(x)
col = sess.run(cloumn)
print(col)
col = sess.run(cloumn)
print(col)

每次评估column时,我都期待0,1,2,3,4,5。但它给出了0和4,第二个slice_input_producer没有完成切割第一行。

我该如何解决这个问题?提前谢谢了。

0 个答案:

没有答案