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: всегда содержит скаляр с уникальным идентификатором для этого вызова 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