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 скаляр, который будет использоваться для идентификации этого конкретного вызова при выполнении 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: всегда содержит скаляр с уникальным 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. |
© 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.4/api_docs/python/tf/raw_ops/Batch