Spec-Zone.ru › TensorFlow

tf.queue.QueueBase

Базовый класс для реализаций очередей.

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

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

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

tf.compat.v1.QueueBase, tf.compat.v1.io.QueueBase, tf.compat.v1.queue.QueueBase

tf.queue.QueueBase(
    dtypes, shapes, names, queue_ref
)

Очередь — это структура данных TensorFlow, которая хранит тензоры на протяжении нескольких шагов и предоставляет операции для добавления тензоров в очередь и извлечения их из нее.

Каждый элемент очереди представляет собой кортеж из одного или нескольких тензоров, причем для каждого компонента кортежа задан статический тип данных и может быть задана статическая форма. Реализации очередей поддерживают версии операций добавления и извлечения для отдельных элементов, а также версии, позволяющие добавлять и извлекать пакет элементов за один раз.

Конкретные реализации этого класса и инструкции по их созданию см. в разделах tf.queue.FIFOQueue и tf.queue.RandomShuffleQueue.

Аргументы
dtypes Список типов. Длина dtypes должна равняться числу тензоров в каждом элементе.
shapes Ограничения на формы тензоров в элементе: список кортежей форм или None. Длина этого списка должна совпадать с длиной dtypes. Если форма какого-либо тензора в элементе ограничена, ограничения должны быть заданы для всех тензоров; для форм можно указать None, если их не следует ограничивать.
names Необязательный список имен. Если он указан, методы enqueue() и dequeue() будут использовать словари с этими именами в качестве ключей. Должно быть указано None, список или кортеж той же длины, что и dtypes.
queue_ref Ссылка на очередь, то есть выход операции очереди.
Исключения
ValueError Если один из аргументов недопустим.
Атрибуты
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/QueueBase

Spec-Zone.ru

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