tf.compat.v1.train.batch
Создаёт пакеты тензоров в tensors. (устарело)
tf.compat.v1.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
)
Аргумент 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, и операции, зависящие от фиксированного batch_size, не будут работать.
| Аргументы | |
|---|---|
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 execution
Подсистемы ввода данных на основе очередей не поддерживаются при включённом режиме eager execution. Пожалуйста, используйте API tf.data для обработки данных в режиме eager execution.
© 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