Spec-Zone.ru › TensorFlow 1.15

tf.queue.FIFOQueue

Просмотр исходного кода на GitHub

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

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

Псевдонимы

Основные псевдонимы

`tf.FIFOQueue`

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

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.FIFOQueue, tf.compat.v1.queue.FIFOQueue, `tf.compat.v2.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
)

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

Данная операция разделяет каждый компонентный тензор по нулевому измерению, чтобы создать несколько элементов очереди. Все тензоры в 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/r1.15/api_docs/python/tf/queue/FIFOQueue

Spec-Zone.ru

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