Spec-Zone.ru › TensorFlow 1.15

tf.train.batch

Создаёт пакеты тензоров в tensors. (устаревший)

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

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

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.train.batch

tf.train.batch(
    tensors, batch_size, num_threads=1, 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.batch(batch_size) (или padded_batch(...) если dynamic_pad=True).

Аргумент tensors может быть списком или словарем тензоров. Возвращаемое значение функции будет того же типа, что и tensors.

Эта функция реализована с использованием очереди. QueueRunner для очереди добавляется в текущую коллекцию Graph's QUEUE_RUNNER.

Если 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, если очередь ввода истощена. Если эта операция подгружает другую очередь ввода, её исполнитель очереди поймает это исключение, однако, если эта операция используется в вашей основной нити, вы сами ответственны за перехват этого исключения.

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

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

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

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

Совместимость с 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/r1.15/api_docs/python/tf/train/batch

Spec-Zone.ru

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