tf.queue.RandomShuffleQueue
| Просмотреть исходный код на GitHub |
Очередь, которая декьюит элементы в случайном порядке.
Наследуется от: 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 до или во время её выполнения. Если очередь закрыта, очередь пуста и нет ожидающих операций 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) очередь закрыта операцией 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/RandomShuffleQueue