Spec-Zone.ru › TensorFlow 2.3

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 элементов из этой очереди.

Эта операция конкатенирует тензоры компонентов элементов очереди по 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
)

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

Данная операция разбивает каждый компонентный тензор по нулевому измерению для создания нескольких элементов очереди. Все тензоры в 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/QueueBase

Spec-Zone.ru

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