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, которая хранит тензоры на нескольких шагах и предоставляет операции для добавления (enqueue) и извлечения (dequeue) тензоров.

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

См. 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 до или во время ее выполнения. Если очередь закрыта, очередь пуста, и нет ожидающих операций 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) очередь закрыта операцией закрытия с 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/api_docs/python/tf/queue/QueueBase

Spec-Zone.ru

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