tf.queue.RandomShuffleQueue
Реализация очереди, извлекающей элементы в случайном порядке.
Наследует от: QueueBase
tf.queue.RandomShuffleQueue(
capacity,
min_after_dequeue,
dtypes,
shapes=None,
names=None,
seed=None,
shared_name=None,
name='random_shuffle_queue'
)
Описание методов этого класса см. в разделе tf.queue.QueueBase.
| Аргументы | |
|---|---|
capacity | Целое число. Верхняя граница количества элементов, которые можно хранить в этой очереди. |
min_after_dequeue | Целое число (описано выше). |
dtypes | Список объектов DType. Длина dtypes должна быть равна количеству тензоров в каждом элементе очереди. |
shapes | (Необязательно.) Список полностью определённых объектов TensorShape той же длины, что и dtypes, или None. |
names | (Необязательно.) Список строк с именами компонентов очереди той же длины, что и dtypes, или None. Если этот параметр задан, методы извлечения возвращают словарь, где имена используются в качестве ключей. |
seed | Целое число Python. Используется для создания случайного начального значения. Описание поведения см. в разделе tf.compat.v1.set_random_seed. |
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. Если очередь закрыта и пуста, а ожидающих операций добавления, способных выполнить этот запрос, нет, будет вызвана ошибка tf.errors.OutOfRangeError. Если сеанс находится в состоянии tf.Session.close, будет вызвана ошибка tf.errors.CancelledError.
| Аргументы | |
|---|---|
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
| Кортеж извлечённых тензоров. |
dequeue_many
dequeue_many(
n, name=None
)
Извлекает и объединяет n элементов из этой очереди.
Эта операция объединяет тензоры компонентов элементов очереди вдоль измерения 0, чтобы сформировать один тензор компонента. Размерность 0 всех компонентов в извлечённом кортеже будет равна 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.
Эта операция объединяет тензоры компонентов элементов очереди вдоль измерения 0, чтобы сформировать один тензор компонента. Если очередь не закрыта, размерность 0 всех компонентов в извлечённом кортеже будет равна 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
)
Добавляет в эту очередь ноль или более элементов.
Эта операция нарезает каждый тензор-компонент вдоль измерения 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/RandomShuffleQueue