Spec-Zone.ru › TensorFlow

tf.compat.v1.train.batch_join

Выполняет список тензоров для заполнения очереди, чтобы создать пакеты примеров. (устарело)

tf.compat.v1.train.batch_join(
    tensors_list,
    batch_size,
    capacity=32,
    enqueue_many=False,
    shapes=None,
    dynamic_pad=False,
    allow_smaller_final_batch=False,
    shared_name=None,
    name=None
)
Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: Входные конвейеры на основе очереди были заменены на tf.data. Используйте tf.data.Dataset.interleave(...).batch(batch_size) (или padded_batch(...), если dynamic_pad=True).

Аргумент tensors_list представляет собой список кортежей тензоров или список словарей тензоров. Каждый элемент в списке обрабатывается аналогично аргументу tensors функции tf.compat.v1.train.batch().

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

В разные потоки помещаются разные списки тензоров. Реализовано с помощью очереди — QueueRunner для очереди добавляется в текущую Graph коллекцию QUEUE_RUNNER.

len(tensors_list) потоков будут запущены, где поток i помещает тензоры из tensors_list[i]. tensors_list[i1][j] должны соответствовать tensors_list[i2][j] по типу и форме, за исключением первого измерения, если enqueue_many равно true.

Если enqueue_many равно False, каждый tensors_list[i] считается представлением одного примера. Входной тензор x будет выведен как тензор с формой [batch_size] + x.shape.

Если enqueue_many равно True, tensors_list[i] считается представлением пакета примеров, где первое измерение индексируется примером, и все члены tensors_list[i] должны иметь одинаковый размер в первом измерении. Срезы любого входного тензора x рассматриваются как примеры, и выходные тензоры будут иметь форму [batch_size] + x.shape[1:].

Аргумент capacity контролирует, как долго предвыборка может увеличивать очереди.

Возвращаемое действие является операцией декьюинга и выбросит tf.errors.OutOfRangeError, если входная очередь исчерпана. Если эта операция подаёт данные в другую входную очередь, её обработчик очереди перехватит эту ошибку; однако, если эта операция используется в главном потоке, вы сами должны перехватить эту ошибку.

Примечание: Если dynamic_pad равно False, вы должны убедиться, что (i) аргумент shapes передан, или (ii) все тензоры в tensors_list имеют полностью определенные формы. В противном случае будет возбуждено исключение ValueError.

Если dynamic_pad равно True, достаточно знать ранг тензоров, но отдельные измерения могут иметь значение None. В этом случае для каждого энкодирования измерения со значением None могут иметь переменную длину; при декодировании выходные тензоры будут дополнены справа до максимальной формы тензоров в текущей мини-пачке. Для чисел это дополнение принимает значение 0. Для строк это дополнение — пустая строка. См. PaddingFIFOQueue для получения дополнительной информации.

Если allow_smaller_final_batch равно True, возвращается значение мини-пакета меньше, чем batch_size, когда очередь закрыта и нет достаточно элементов для заполнения пакета; в противном случае ожидаемые элементы отбрасываются. Кроме того, все статические формы выходных тензоров, доступные через свойство shape, будут иметь первое значение Dimension равное None, и операции, зависящие от фиксированного размера пакета, завершатся ошибкой.

Аргументы
tensors_list Список кортежей или словарей тензоров для помещения в очередь.
batch_size Целое число. Новый размер пакета, извлеченный из очереди.
capacity Целое число. Максимальное количество элементов в очереди.
enqueue_many Является ли каждый тензор в tensor_list_list одиночным примером.
shapes (Необязательно) Формы каждого примера. По умолчанию — вычисленные формы для tensor_list_list[i].
dynamic_pad Логическое значение. Разрешить переменные измерения в формах входных данных. При декьюинге заданные измерения дополняются справа, чтобы тензоры в пачке имели одинаковые формы.
allow_smaller_final_batch (Необязательно) Логическое значение. Если равно true, разрешается, чтобы окончательный пакет был меньше, если в очереди недостаточно элементов.
shared_name (Необязательно) Если установлено, эта очередь будет совместно использоваться под заданным именем в нескольких сессиях.
name (Необязательно) Имя для операций.
Возвращаемые значения
Список или словарь тензоров с тем же количеством и типами, что и tensors_list[i].
Исключения
ValueError Если shapes не заданы и не могут быть вычислены из элементов tensor_list_list.

совместимость с eager

Вводные конвейеры, основанные на очередях, не поддерживаются при включённом выполнении eager. Используйте API tf.data для обработки данных при выполнении eager.

© 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/compat/v1/train/batch_join

Spec-Zone.ru

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