Spec-Zone.ru › TensorFlow 2.4

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. Если указано, методы dequeue возвращают словарь с именами в качестве ключей.
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 до или во время её выполнения. Если очередь закрыта, очередь пуста и нет ожидающих операций добавления, которые могли бы выполнить этот запрос, будет выброшено исключение 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) очередь закрыта операцией закрытия с 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 Название операции (необязательно).
Возвращает
Скалярный тензор, содержащий количество элементов в этой очереди.

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

Spec-Zone.ru

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