Spec-Zone.ru › TensorFlow 1.15

tf.queue.QueueBase

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

Базовый класс для реализации очередей.

Просмотр псевдонимов

Основные псевдонимы

`tf.QueueBase`, `tf.io.QueueBase`

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

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

tf.compat.v1.QueueBase, tf.compat.v1.io.QueueBase, tf.compat.v1.queue.QueueBase, `tf.compat.v2.queue.QueueBase`

tf.queue.QueueBase(
    dtypes, shapes, names, queue_ref
)

Очередь — это структура данных TensorFlow, которая хранит тензоры на протяжении нескольких шагов и предоставляет операции для добавления и извлечения тензоров.

Каждый элемент очереди — это кортеж из одного или нескольких тензоров, где каждый компонент кортежа имеет статический тип данных и может иметь статическую форму. Реализации очередей поддерживают версии 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 до или во время её выполнения. Если очередь закрыта, очередь пуста, и нет ожидающих операций добавления в очередь, которые могут выполнить этот запрос, будет возбуждено исключение 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. Если эта операция заблокирована, и (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 Тензор, список или кортеж тензоров, или словарь, из которых берутся элементы очереди.
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/r1.15/api_docs/python/tf/queue/QueueBase

Spec-Zone.ru

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