Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.train.QueueRunner

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

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

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

Дополнительные сведения см. в руководстве по миграции.

tf.compat.v1.train.queue_runner.QueueRunner

tf.compat.v1.train.QueueRunner(
    queue=None,
    enqueue_ops=None,
    close_op=None,
    cancel_op=None,
    queue_closed_exception_types=None,
    queue_runner_def=None,
    import_scope=None
)

Миграция на TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение, чтобы узнать, как мигрировать с этого API на эквивалент в TensorFlow v2. См. руководство по миграции TensorFlow v1 в TensorFlow v2, чтобы узнать, как мигрировать остальную часть вашего кода.

QueueRunner несовместимы с выполнением в режиме eager. Вместо этого используйте tf.data для получения данных для вашей модели.

Описание

Очереди — удобный механизм TensorFlow для асинхронного вычисления тензоров с использованием нескольких потоков. Например, в стандартной схеме «Чтение входных данных» один набор потоков генерирует имена файлов в очереди; второй набор потоков считывает записи из файлов, обрабатывает их и добавляет тензоры в вторую очередь; третий набор потоков извлекает эти входные записи для построения пакетов и запуска их через операции обучения.

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

QueueRunner, в сочетании с Coordinator, помогает решить эти проблемы.

Аргументы
queue Queue.
enqueue_ops Список операций добавления в очередь для запуска в потоках позже.
close_op Операция закрытия очереди. Ожидаемые операции добавления в очередь сохраняются.
cancel_op Операция закрытия очереди и отмены ожидаемых операций добавления в очередь.
queue_closed_exception_types Необязательная кортеж типов исключений, указывающих, что очередь закрыта, при их возникновении во время операции добавления в очередь. По умолчанию (tf.errors.OutOfRangeError,). Другой распространенный случай — (tf.errors.OutOfRangeError, tf.errors.CancelledError), когда некоторые из операций добавления в очередь могут извлекать из других очередей.
queue_runner_def Необязательный протокольный буфер QueueRunnerDef. Если указано, создает QueueRunner из его содержимого. queue_runner_def и другие аргументы взаимоисключают друг друга.
import_scope Необязательный string. Область именования для добавления. Используется только при инициализации из протокольного буфера.
Возникающие исключения
ValueError Если оба queue_runner_def и queue указаны одновременно.
ValueError Если queue или enqueue_ops не указаны при отсутствии восстановления из queue_runner_def.
RuntimeError Если включено выполнение в режиме eager.
Атрибуты
cancel_op
close_op
enqueue_ops
exceptions_raised Исключения, поднятые, но не обработанные потоками QueueRunner.

Исключения, поднятые в потоках выполнителя очереди, обрабатываются одним из двух способов в зависимости от того, был ли передан Coordinator в create_threads():

  • С Coordinator, исключения сообщаются координатору и забываются потоком QueueRunner.

  • Без Coordinator, исключения перехватываются QueueRunner и доступны в этом свойстве exceptions_raised.

name Имя строки базовой очереди.
queue
queue_closed_exception_types

Методы

create_threads

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

create_threads(
    sess, coord=None, daemon=False, start=False
)

Создает потоки для выполнения операций добавления в очередь для заданной сессии.

Этот метод требует сессии, в которой была запущена графика. Он создает список потоков, необязательно запуская их. По одному потоку на каждую операцию, переданную в enqueue_ops.

Аргумент coord — это необязательный координатор, который потоки будут использовать для совместного завершения и отслеживания исключений. Если координатор задан, этот метод запускает дополнительный поток для закрытия очереди, когда координатор запросит останов.

Если ранее созданные потоки для заданной сессии все еще работают, новые потоки не будут созданы.

Аргументы
sess Session.
coord Необязательный объект Coordinator для отслеживания ошибок и проверки условий остановки.
daemon Булево. Если True, сделайте потоки демонами.
start Булево. Если True запускает потоки. Если False, вызывающий должен вызвать метод start() возвращенных потоков.
Возвращаемое значение
Список потоков.

from_proto

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

@staticmethod
from_proto(
    queue_runner_def, import_scope=None
)

Возвращает объект QueueRunner, созданный из queue_runner_def.

to_proto

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

to_proto(
    export_scope=None
)

Преобразует этот объект QueueRunner в протокольный буфер QueueRunnerDef.

Аргументы
export_scope Необязательная string. Область именования для удаления.
Возвращаемое значение
Протокольный буфер QueueRunnerDef, или None, если Variable не находится в указанной области именования.

© 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/versions/r2.9/api_docs/python/tf/compat/v1/train/QueueRunner

Spec-Zone.ru

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