Spec-Zone.ru › TensorFlow

tf.queue.FIFOQueue

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

Наследуется от: 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, которые в противном случае блокировались бы в ожидании новых элементов (если бы очередь не была закрыта), немедленно завершатся с ошибкой.

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

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

dequeue

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

dequeue(
    name=None
)

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

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

Во время выполнения эта операция может вызвать ошибку, если очередь tf.QueueBase.close до её начала или в процессе выполнения. Если очередь закрыта и пуста, а ожидающих операций добавления, которые могли бы выполнить этот запрос, нет, будет вызвана ошибка 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 элементов и нет ожидающих операций добавления, которые могли бы выполнить этот запрос, будет вызвана ошибка 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) очередь закрывается операцией close с параметром 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/api_docs/python/tf/queue/FIFOQueue

Spec-Zone.ru

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