tf.raw_ops.Batch
Объединяет все входные тензоры в пакеты недетерминированным образом.
tf.raw_ops.Batch(
in_tensors,
num_batch_threads,
max_batch_size,
batch_timeout_micros,
grad_timeout_micros,
max_enqueued_batches=10,
allowed_batch_sizes=[],
container='',
shared_name='',
batching_queue='',
name=None
)
Если несколько экземпляров этой операции одновременно выполняются на одном устройстве с одинаковыми значениями container/shared_name, некоторые из них выведут тензоры нулевого размера, а другие — тензоры размером до max_batch_size.
Все тензоры в in_tensors объединяются в пакет (например, метки и признаки следует объединять в пакет с помощью одного экземпляра этой операции).
Каждый вызов batch выдает скаляр id, который используется для идентификации этого вызова при выполнении unbatch или вычислении градиента.
Каждая операция, формирующая непустой пакет, также выдает непустой тензор batch_index — матрицу [K, 3], в каждой строке которой содержатся идентификатор вызова, начальный индекс и количество элементов каждого набора тензоров в batched_tensors.
Объединенные в пакет тензоры конкатенируются вдоль первого измерения, и первое измерение всех тензоров в in_tensors должно иметь одинаковый размер.
in_tensors: тензоры, которые нужно объединить в пакет. num_batch_threads: количество потоков планирования для обработки пакетов задач. Определяет количество пакетов, обрабатываемых параллельно. max_batch_size: размер пакета не будет превышать это значение. batch_timeout_micros: максимальное количество микросекунд ожидания перед выводом неполного пакета. allowed_batch_sizes: необязательный список допустимых размеров пакетов. Если список пуст, ничего не происходит. В противном случае операция дополняет пакеты до одного из указанных размеров. Значения должны идти в порядке возрастания, а последнее значение должно быть равно max_batch_size. grad_timeout_micros: время ожидания, используемое для градиента. См. Unbatch. batched_tensors: пустые тензоры или пакет конкатенированных тензоров. batch_index: если out_tensors не пуст, содержит информацию, необходимую для обратного преобразования. container: определяет область совместного использования этого пакета. id: всегда содержит скаляр с уникальным идентификатором этого вызова Batch. shared_name: одновременно выполняющиеся экземпляры batch на одном устройстве с одинаковыми значениями container и shared_name объединяют свои элементы в общий пакет. Если значение не задано, в качестве shared_name используется имя операции. T: типы тензоров, которые нужно объединить в пакет.
| Аргументы | |
|---|---|
in_tensors | Список объектов Tensor. |
num_batch_threads | Объект int. |
max_batch_size | Объект int. |
batch_timeout_micros | Объект int. |
grad_timeout_micros | Объект int. |
max_enqueued_batches | Необязательный int. По умолчанию — 10. |
allowed_batch_sizes | Необязательный список ints. По умолчанию — []. |
container | Необязательный string. По умолчанию — "". |
shared_name | Необязательный string. По умолчанию — "". |
batching_queue | Необязательный string. По умолчанию — "". |
name | Имя операции (необязательно). |
| Возвращаемые значения | |
|---|---|
Кортеж объектов Tensor (batched_tensors, batch_index, id). | |
batched_tensors | Список объектов Tensor. Имеет тот же тип, что и in_tensors. |
batch_index | Tensor типа int64. |
id | Tensor типа int64. |
© 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/raw_ops/Batch