tf.train.shuffle_batch_join
Создавать пакеты, случайным образом перемешивая тензоры. (устаревшее)
tf.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
)
Аргумент 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, и операции, зависящие от фиксированного размера пакета, не будут работать.
| Аргументы | |
|---|---|
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/r1.15/api_docs/python/tf/train/shuffle_batch_join