Spec-Zone.ru › TensorFlow 2.9

tf.queue.FIFOQueue

Просмотреть исходный код на GitHub

Реализация очереди, которая декьюит элементы в порядке очереди «первый пришёл — первый ушёл».

Наследуется от: QueueBase

Просмотр псевдонимов

Псевдонимы для миграции

Подробнее см. Руководство по миграции.

tf.compat.v1.FIFOQueue, tf.compat.v1.queue.FIFOQueue

tf.queue.FIFOQueue(
    capacity,
    dtypes,
    shapes=None,
    names=None,
    shared_name=None,
    name='fifo_queue'
)

См. tf.queue.QueueBase для описания методов этого класса.

Аргументы
capacity Целое число. Верхняя граница числа элементов, которые могут быть сохранены в этой очереди.
dtypes Список объектов DType. Длина dtypes должна быть равна числу тензоров в каждом элементе очереди.
shapes (Необязательно.) Список полностью определённых объектов TensorShape той же длины, что и dtypes, или None.
names (Необязательно.) Список строк, именованных компонентов в очереди той же длины, что и dtypes, или None. Если указаны, методы декьюирования возвращают словарь с именами в качестве ключей.
shared_name (Необязательно.) Если не пусто, эта очередь будет использоваться совместно под заданным именем в нескольких сеансах.
name Необязательное имя для операции очереди.
Атрибуты
dtypes Список типов данных для каждого компонента элемента очереди.
name Имя базовой очереди.
names Список имён для каждого компонента элемента очереди.
queue_ref Ссылка на базовый объект очереди.
shapes Список форм для каждого компонента элемента очереди.

Методы

close

Просмотреть исходный код

close(
    cancel_pending_enqueues=False, name=None
)

Закрывает эту очередь.

Эта операция сигнализирует о том, что больше элементов не будут помещаться в заданную очередь. Последующие операции enqueue и enqueue_many завершатся ошибкой. Последующие операции dequeue и dequeue_many будут продолжать выполняться успешно, если в очереди останется достаточно элементов. Впоследствии операции dequeue и dequeue_many, которые в противном случае блокировались бы в ожидании дополнительных элементов (если close не был вызван), теперь завершатся ошибкой немедленно.

Если cancel_pending_enqueues является True, все ожидающие запросы также будут отменены.

Аргументы
cancel_pending_enqueues (Необязательно.) Булево значение, по умолчанию False (описано выше).
name Имя операции (необязательно).
Возвращаемое значение
Операция закрытия очереди.

dequeue

Просмотреть исходный код

dequeue(
    name=None
)

Декевит один элемент из этой очереди.

Если очередь пуста во время выполнения этой операции, она будет заблокирована, пока не будет элемента для декьюирования.

Во время выполнения эта операция может вызвать ошибку, если очередь tf.QueueBase.close до или во время её выполнения. Если очередь закрыта, очередь пуста, и нет ожидающих операций enqueue, которые могут выполнить этот запрос, будет выброшено исключение tf.errors.OutOfRangeError. Если сеанс tf.Session.close, будет выброшено исключение tf.errors.CancelledError.

Аргументы
name Имя операции (необязательно).
Возвращаемое значение
Кортеж тензоров, которые были декьюированы.

dequeue_many

Просмотреть исходный код

dequeue_many(
    n, name=None
)

Декевит и конкатенирует n элементов из этой очереди.

Эта операция конкатенирует тензоры компонентов элемента очереди по 0-му измерению, чтобы создать один тензор компонента. Все компоненты в декьюированном кортеже будут иметь размер n в 0-м измерении.

Если очередь закрыта и осталось меньше n элементов, то возбуждается исключение OutOfRange.

Во время выполнения эта операция может вызвать ошибку, если очередь tf.QueueBase.close до или во время её выполнения. Если очередь закрыта, в очереди меньше, чем n элементов, и нет ожидающих операций enqueue, которые могут выполнить этот запрос, будет выброшено исключение tf.errors.OutOfRangeError. Если сеанс tf.Session.close, будет выброшено исключение tf.errors.CancelledError.

Аргументы
n Скалярный Tensor, содержащий число элементов для декьюирования.
name Имя операции (необязательно).
Возвращаемое значение
Список конкатенированных тензоров, которые были декьюированы.

dequeue_up_to

Просмотреть исходный код

dequeue_up_to(
    n, name=None
)

Декевит и конкатенирует n элементов из этой очереди.

Примечание: Эта операция не поддерживается всеми очередями. Если очередь не поддерживает DequeueUpTo, возбуждается исключение tf.errors.UnimplementedError.

Эта операция конкатенирует тензоры компонентов элемента очереди по 0-му измерению, чтобы создать один тензор компонента. Если очередь не была закрыта, все компоненты в декьюированном кортеже будут иметь размер n в 0-м измерении.

Если очередь закрыта и имеется больше, чем 0, но меньше, чем n оставшихся элементов, вместо возбуждения исключения tf.errors.OutOfRangeError как в tf.QueueBase.dequeue_many, возвращаются меньше, чем n элементов немедленно. Если очередь закрыта и осталось 0 элементов в очереди, возбуждается исключение tf.errors.OutOfRangeError так же, как и в dequeue_many. В противном случае поведение идентично dequeue_many.

Аргументы
n Скалярный Tensor, содержащий число элементов для декьюирования.
name Имя операции (необязательно).
Возвращаемое значение
Кортеж конкатенированных тензоров, которые были декьюированы.

enqueue

Просмотреть исходный код

enqueue(
    vals, name=None
)

Помещает один элемент в эту очередь.

Если очередь полна во время выполнения этой операции, она будет заблокирована, пока элемент не будет помещён в очередь.

Во время выполнения эта операция может вызвать ошибку, если очередь tf.QueueBase.close до или во время её выполнения. Если очередь закрыта до запуска этой операции, будет выброшено исключение tf.errors.CancelledError. Если эта операция заблокирована и либо (i) очередь закрыта операцией close с cancel_pending_enqueues=True, либо (ii) сеанс tf.Session.close, будет выброшено исключение tf.errors.CancelledError.

Аргументы
vals Тензор, список или кортеж тензоров или словарь, содержащий значения для помещения в очередь.
name Имя операции (необязательно).
Возвращаемое значение
Операция помещения нового кортежа тензоров в очередь.

enqueue_many

Просмотреть исходный код

enqueue_many(
    vals, name=None
)

Помещает ноль или более элементов в эту очередь.

Эта операция разделяет каждый тензор компонента по 0-му измерению, чтобы создать несколько элементов очереди. Все тензоры в vals должны иметь одинаковый размер в 0-м измерении.

Если очередь полна во время выполнения этой операции, она будет заблокирована, пока все элементы не будут помещены в очередь.

При выполнении, данная операция может вызвать ошибку, если очередь tf.QueueBase.close до или во время её выполнения. Если очередь закрыта до запуска этой операции, будет поднята tf.errors.CancelledError. Если данная операция заблокирована, и либо (i) очередь закрыта операцией закрытия с cancel_pending_enqueues=True, либо (ii) сессия tf.Session.close, будет поднята tf.errors.CancelledError.

Аргументы
vals Массив, список или кортеж массивов, или словарь, из которых берутся элементы очереди.
name Имя операции (необязательно).
Возвращаемое значение
Операция, которая вставляет пакет кортежей массивов в очередь.

from_list

Просмотреть исходный код

@staticmethod
from_list(
    index, queues
)

Создать очередь, используя ссылку на очередь из queues[index].

Аргументы
index Целочисленный скалярный массив, который определяет выбираемый вход.
queues Список объектов QueueBase.
Возвращаемое значение
Объект QueueBase.
Исключения
TypeError Если queues не является списком объектов QueueBase, или когда типы данных queues не одинаковые.

is_closed

Просмотреть исходный код

is_closed(
    name=None
)

Возвращает true, если очередь закрыта.

Данная операция возвращает true, если очередь закрыта, и false, если очередь открыта.

Аргументы
name Имя операции (необязательно).
Возвращаемое значение
True, если очередь закрыта, и false, если очередь открыта.

size

Просмотреть исходный код

size(
    name=None
)

Вычислить количество элементов в этой очереди.

Аргументы
name Имя операции (необязательно).
Возвращаемое значение
Скалярный массив, содержащий количество элементов в очереди.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/queue/FIFOQueue

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API