Spec-Zone.ru › TensorFlow 2.4

tf.queue.PriorityQueue

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

Реализация очереди, которая извлекает элементы в порядке приоритета.

Наследуется от: QueueBase

Псевдонимы

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

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

tf.compat.v1.PriorityQueue, tf.compat.v1.io.PriorityQueue, tf.compat.v1.queue.PriorityQueue

tf.queue.PriorityQueue(
    capacity, types, shapes=None, names=None, shared_name=None,
    name='priority_queue'
)

См. tf.queue.QueueBase для описания методов этого класса.

Аргументы
capacity Целое число. Верхняя граница количества элементов, которые могут быть сохранены в этой очереди.
types Список объектов DType. Длина types должна быть равна количеству тензоров в каждом элементе очереди, за исключением первого элемента с приоритетом. Первый тензор в каждом элементе — это приоритет, который должен иметь тип int64.
shapes (Необязательно.) Список полностью определенных объектов TensorShape, с такой же длиной, как у types, или None.
names (Необязательно.) Список строк с именами компонентов в очереди с такой же длиной, как у dtypes, или None. Если указано, методы dequeue возвращают словарь с именами в качестве ключей.
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
)

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

Эта операция разделяет каждый тензор компонента по 0-му измерению, чтобы создать несколько элементов очереди. Все тензоры в vals должны иметь одинаковый размер в 0-м измерении.

Если очередь заполнена во время выполнения этой операции, она будет заблокирована до тех пор, пока все элементы не будут помещены в очередь.

Во время выполнения эта операция может вызвать ошибку, если очередь tf.QueueBase.close до или во время её выполнения. Если очередь закрыта до выполнения этой операции, будет поднята tf.errors.CancelledError. Если эта операция заблокирована, и либо (i) очередь закрыта операцией закрытия с cancel_pending_enqueues=True, либо (ii) сессия tf.Session.close, будет поднята tf.errors.CancelledError.

Аргументы
vals Tensor, список или кортеж тензоров, или словарь, из которого берутся элементы очереди.
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.4/api_docs/python/tf/queue/PriorityQueue

Spec-Zone.ru

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