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/versions/r2.9/api_docs/python/tf/raw_ops/Batch