Spec-Zone.ru › TensorFlow 2.3

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

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

Если очередь закрыта и в ней меньше 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.

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

Если очередь закрыта и в ней более 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
)

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

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

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

При выполнении данной операции может возникнуть ошибка, если очередь 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.3/api_docs/python/tf/queue/FIFOQueue

Spec-Zone.ru

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