Dequeues n tuples of one or more tensors from the given queue.

    handle, n, component_types, timeout_ms=-1, name=None

This operation is not supported by all queues. If a queue does not support DequeueUpTo, then an Unimplemented error is returned.

If the queue is closed and there are more than 0 but less than n elements remaining, then instead of returning an OutOfRange error like QueueDequeueMany, less than n elements are returned immediately. If the queue is closed and there are 0 elements left in the queue, then an OutOfRange error is returned just like in QueueDequeueMany. Otherwise the behavior is identical to QueueDequeueMany:

This operation concatenates queue-element component tensors along the 0th dimension to make a single component tensor. All of the components in the dequeued tuple will have size n in the 0th dimension.

This operation has k outputs, where k is the number of components in the tuples stored in the given queue, and output i is the ith component of the dequeued tuple.


  • handle: A Tensor of type resource. The handle to a queue.
  • n: A Tensor of type int32. The number of tuples to dequeue.
  • component_types: A list of tf.DTypes that has length >= 1. The type of each component in a tuple.
  • timeout_ms: An optional int. Defaults to -1. If the queue has fewer than n elements, this operation will block for up to timeout_ms milliseconds. Note: This option is not supported yet.
  • name: A name for the operation (optional).


A list of Tensor objects of type component_types.