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
)
Когда много экземпляров этого оператора выполняются параллельно с тем же контейнером/shared_name на том же устройстве, некоторые из них выдадут тензоры нулевого размера, а другие — тензоры размером до max_batch_size.
Все тензоры в in_tensors объединяются вместе (например, метки и признаки должны объединяться с помощью одного экземпляра этого оператора).
Каждый вызов batch излучает id скаляр, который будет использоваться для идентификации этого конкретного вызова при разбиении или вычислении градиента.
Каждый оператор, излучающий непустой пакет, также излучает непустой тензор 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: всегда содержит скаляр с уникальным ID для этого вызова Batch. shared_name: Параллельно выполняемые экземпляры batch на одном устройстве с тем же контейнером и shared_name объединяют свои элементы вместе. Если оставлено пустым, имя оператора будет использоваться в качестве имени shared. 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. |
© 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.3/api_docs/python/tf/raw_ops/Batch