Spec-Zone.ru › TensorFlow

tf.queue.PriorityQueue

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

Наследует от: 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. Если указано, методы извлечения возвращают словарь, в котором имена используются в качестве ключей.
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, которые в противном случае ожидали бы появления новых элементов, теперь немедленно завершатся ошибкой.

Если 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. Если выполнение этой операции заблокировано, а очередь закрывается операцией close с параметром cancel_pending_enqueues=True или сеанс tf.Session.close, будет вызвана ошибка tf.errors.CancelledError.

Аргументы
vals Тензор, список или кортеж тензоров либо словарь, содержащий добавляемые значения.
name Имя операции (необязательно).
Возвращает
Операцию, добавляющую в очередь новый кортеж тензоров.

enqueue_many

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

enqueue_many(
    vals, name=None
)

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

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

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

Во время выполнения эта операция может вызвать ошибку, если очередь tf.QueueBase.close до её выполнения или во время выполнения. Если очередь закрыта до запуска этой операции, будет вызвана ошибка tf.errors.CancelledError. Если выполнение этой операции заблокировано, а очередь закрывается операцией close с параметром cancel_pending_enqueues=True или сеанс 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/PriorityQueue

Spec-Zone.ru

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