Spec-Zone.ru › TensorFlow 2.9

tf.queue.QueueBase

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

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

Псевдонимы

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

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

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

© 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/versions/r2.9/api_docs/python/tf/queue/QueueBase

Spec-Zone.ru

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