Reputation:
This Tensorflow code using FIFOQueue causes the below error
import tensorflow as tf
with tf.Session() as sess:
queue = tf.FIFOQueue(100, tf.float32)
enqueue_op = queue.enqueue([1.2, 2.3])
inputs = queue.dequeue_many(2)
sess.run(enqueue_op)
sess.run(enqueue_op)
print sess.run(inputs)
The error
InvalidArgumentError (see above for traceback): FIFOQueue's DequeueMany and DequeueUpTo require the components to have specified shapes.
[[Node: fifo_queue_DequeueMany = QueueDequeueMany[_class=["loc:@fifo_queue"], component_types=[DT_FLOAT], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](fifo_queue, fifo_queue_DequeueMany/n)]]
Can you please tell me what I am doing wrong?
Upvotes: 2
Views: 1038
Reputation:
Asked too soon. Perhaps I will save future generations
with tf.Session() as sess:
queue = tf.FIFOQueue(100, dtypes=[tf.float32, tf.float32], shapes=[(), ()])
enqueue_op = queue.enqueue_many([[1.2, 2.3], [4.5, 6.7]])
inputs = queue.dequeue_many(4)
sess.run(enqueue_op)
sess.run(enqueue_op)
print sess.run(inputs)
prints out,
[array([ 1.20000005, 2.29999995, 1.20000005, 2.29999995], dtype=float32),
array([ 4.5 , 6.69999981, 4.5 , 6.69999981], dtype=float32)]
Upvotes: 4