Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.train.shuffle_batch

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

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

Эта функция добавляет следующее к текущему Graph:

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

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

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

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

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

Например:

# Creates batches of 32 images and 32 labels.
image_batch, label_batch = tf.compat.v1.train.shuffle_batch(
      [single_image, single_label],
      batch_size=32,
      num_threads=4,
      capacity=50000,
      min_after_dequeue=10000)
Примечание: Вы должны убедиться, что либо (i) передан аргумент shapes, либо (ii) все тензоры в tensors должны иметь полностью определённые формы. ValueError будет вызвано, если ни одно из этих условий не выполнено.

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

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

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

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

© 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

Spec-Zone.ru

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