Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.train.shuffle_batch_join

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

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

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

Эта версия помещает в очередь различные списки тензоров в разных потоках. Она добавляет следующее к текущему Graph:

  • Очередь перемешивания, в которую помещаются тензоры из tensors_list.
  • Операцию dequeue_many для создания пакетов из очереди.
  • Коллекцию QueueRunner для помещения в очередь тензоров из tensors_list.

Будут запущены 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, y, z] будет выведен как тензор с формой [batch_size, x, y, z].

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

Аргумент capacity управляет тем, насколько долго предварительная выборка разрешает увеличение очередей.

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

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

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

Совместимость с Eager

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

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

Spec-Zone.ru

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