Spec-Zone.ru › TensorFlow

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 в коллекцию QUEUE_RUNNER для помещения тензоров из 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; в противном случае оставшиеся элементы отбрасываются. Кроме того, первое значение Dimension статических форм всех выходных тензоров, доступных через свойство shape, будет равно None, и операции, зависящие от фиксированного значения batch_size, завершатся ошибкой.

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

Совместимость с немедленным выполнением

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

© 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/shuffle_batch_join

Spec-Zone.ru

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