tf.queue.FIFOQueue

A queue implementation that dequeues elements in first-in first-out order.

Inherits From: QueueBase

See tf.queue.QueueBase for a description of the methods on this class.

capacityAn integer. The upper bound on the number of elements that may be stored in this queue.
dtypesA list of DType objects. The length of dtypes must equal the number of tensors in each queue element.
shapes(Optional.) A list of fully-defined TensorShape objects with the same length as dtypes, or None.
names(Optional.) A list of string naming the components in the queue with the same length as dtypes, or None. If specified the dequeue methods return a dictionary with the names as keys.
shared_name(Optional.) If non-empty, this queue will be shared under the given name across multiple sessions.
nameOptional name for the queue operation.

dtypesThe list of dtypes for each component of a queue element.
nameThe name of the underlying queue.
namesThe list of names for each component of a queue element.
queue_refThe underlying queue reference.
shapesThe list of shapes for each component of a queue element.

Methods

close

View source

Closes this queue.

This operation signals that no more elements will be enqueued in the given queue. Subsequent enqueue and enqueue_many operations will fail. Subsequent dequeue and dequeue_many operations will continue to succeed if sufficient elements remain in the queue. Subsequently dequeue and dequeue_many operations that would otherwise block waiting for more elements (if close hadn't been called) will now fail immediately.

If cancel_pending_enqueues is True, all pending requests will also be canceled.

Args
cancel_pending_enqueues(Optional.) A boolean, defaulting to False (described above).
nameA name for the operation (optional).

Returns
The operation that closes the queue.

dequeue

View source

Dequeues one element from this queue.

If the queue is empty when this operation executes, it will block until there is an element to dequeue.

At runtime, this operation may raise an error if the queue is tf.QueueBase.close before or during its execution. If the queue is closed, the queue is empty, and there are no pending enqueue operations that can fulfill this request, tf.errors.OutOfRangeError will be raised. If the session is tf.Session.close, tf.errors.CancelledError will be raised.

Args
nameA name for the operation (optional).

Returns
The tuple of tensors that was dequeued.

dequeue_many

View source

Dequeues and concatenates n elements from this queue.

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.

If the queue is closed and there are less than n elements left, then an OutOfRange exception is raised.

At runtime, this operation may raise an error if the queue is tf.QueueBase.close before or during its execution. If the queue is closed, the queue contains fewer than n elements, and there are no pending enqueue operations that can fulfill this request, tf.errors.OutOfRangeError will be raised. If the session is tf.Session.close, tf.errors.CancelledError will be raised.

Args
nA scalar Tensor containing the number of elements to dequeue.
nameA name for the operation (optional).

Returns
The list of concatenated tensors that was dequeued.

dequeue_up_to

View source

Dequeues and concatenates n elements from this queue.

This operation concatenates queue-element component tensors along the 0th dimension to make a single component tensor. If the queue has not been closed, all of the components in the dequeued tuple will have size n in the 0th dimension.

If the queue is closed and there are more than 0 but fewer than n elements remaining, then instead of raising a tf.errors.OutOfRangeError like tf.QueueBase.dequeue_many, less than n elements are returned immediately. If the queue is closed and there are 0 elements left in the queue, then a tf.errors.OutOfRangeError is raised just like in dequeue_many. Otherwise the behavior is identical to dequeue_many.

Args
nA scalar Tensor containing the number of elements to dequeue.
nameA name for the operation (optional).

Returns
The tuple of concatenated tensors that was dequeued.

enqueue

View source

Enqueues one element to this queue.

If the queue is full when this operation executes, it will block until the element has been enqueued.

At runtime, this operation may raise an error if the queue is tf.QueueBase.close before or during its execution. If the queue is closed before this operation runs, tf.errors.CancelledError will be raised. If this operation is blocked, and either (i) the queue is closed by a close operation with cancel_pending_enqueues=True, or (ii) the session is tf.Session.close, tf.errors.CancelledError will be raised.

Args
valsA tensor, a list or tuple of tensors, or a dictionary containing the values to enqueue.
nameA name for the operation (optional).

Returns
The operation that enqueues a new tuple of tensors to the queue.

enqueue_many

View source

Enqueues zero or more elements to this queue.

This operation slices each component tensor along the 0th dimension to make multiple queue elements. All of the tensors in vals must have the same size in the 0th dimension.

If the queue is full when this operation executes, it will block until all of the elements have been enqueued.

At runtime, this operation may raise an error if the queue is tf.QueueBase.close before or during its execution. If the queue is closed before this operation runs, tf.errors.CancelledError will be raised. If this operation is blocked, and either (i) the queue is closed by a close operation with cancel_pending_enqueues=True, or (ii) the session is tf.Session.close, tf.errors.CancelledError will be raised.

Args
valsA tensor, a list or tuple of tensors, or a dictionary from which the queue elements are taken.
nameA name for the operation (optional).

Returns
The operation that enqueues a batch of tuples of tensors to the queue.

from_list

View source

Create a queue using the queue reference from queues[index].

Args
indexAn integer scalar tensor that determines the input that gets selected.
queuesA list of QueueBase objects.

Returns
A QueueBase object.

Raises
TypeErrorWhen queues is not a list of QueueBase objects, or when the data types of queues are not all the same.

is_closed

View source

Returns true if queue is closed.

This operation returns true if the queue is closed and false if the queue is open.

Args
nameA name for the operation (optional).

Returns
True if the queue is closed and false if the queue is open.

size

View source

Compute the number of elements in this queue.

Args
nameA name for the operation (optional).

Returns
A scalar tensor containing the number of elements in this queue.