Spec-Zone.ru › TensorFlow 2.9

tf.raw_ops.BatchFunction

Группирует все входные тензоры для вычислений, выполняемых функцией.

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения более подробной информации.

tf.compat.v1.raw_ops.BatchFunction

tf.raw_ops.BatchFunction(
    in_tensors,
    captured_tensors,
    f,
    num_batch_threads,
    max_batch_size,
    batch_timeout_micros,
    Tout,
    max_enqueued_batches=10,
    allowed_batch_sizes=[],
    container='',
    shared_name='',
    batching_queue='',
    enable_large_batch_splitting=False,
    name=None
)

Например, в следующем коде

# This input will be captured.
y = tf.placeholder_with_default(1.0, shape=[])

@tf.Defun(tf.float32)
def computation(a):
  return tf.matmul(a, a) + y

b = gen_batch_ops.batch_function(
        f=computation
        in_tensors=[a],
        captured_tensors=computation.captured_inputs,
        Tout=[o.type for o in computation.definition.signature.output_arg],
        num_batch_threads=1,
        max_batch_size=10,
        batch_timeout_micros=100000,  # 100ms
        allowed_batch_sizes=[3, 10],
        batching_queue="")

Если несколько вызовов session.run одновременно пытаются вычислить b значения a будут собраны, не гарантированно конкатенированы по первой оси, и только один поток выполнит вычисление.

Предполагается, что все аргументы функции являются тензорами, которые будут сгруппированы по своему первому измерению.

Захваченные аргументы не группируются. Вызов session.run, который выполняет конкатенацию, будет использовать доступные значения захваченных тензоров. Поэтому типичное использование захваченных тензоров должно включать значения, которые остаются неизменными в вызовах session.run. Инференс является хорошим примером этого.

SparseTensor не поддерживается. Возвращаемое значение декорированной функции должно быть тензором или списком/кортежем тензоров.

Аргументы
in_tensors Список Tensor объектов. Тензоры, которые нужно сгруппировать.
captured_tensors Список Tensor объектов. Тензоры, захваченные в функции, и не требующие группировки.
f Функция, декорированная @Defun.
num_batch_threads int. Количество потоков планирования для обработки пакетов работы. Определяет количество обрабатываемых пакетов параллельно.
max_batch_size int. Размер пакетов никогда не будет больше этого значения.
batch_timeout_micros int. Максимальное время ожидания в микросекундах до вывода неполного пакета.
Tout Список tf.DTypes с длиной >= 1. типы выходных тензоров.
max_enqueued_batches Необязательный int. По умолчанию 10. Максимальное количество пакетов в очереди. По умолчанию: 10.
allowed_batch_sizes Необязательный список ints. По умолчанию []. Необязательный список разрешенных размеров пакетов. Если оставлен пустым, ничего не делает. В противном случае, предоставляет список размеров пакетов, заставляя операцию дополнять пакеты до одного из этих размеров. Элементы должны возрастать монотонно. Если enable_large_batch_splitting равен false (т. е. large-input-split не включен), последний элемент должен быть равен max_batch_size.
container Необязательный string. По умолчанию "". Управляет областью совместного использования этого пакета.
shared_name Необязательный string. По умолчанию "". Одновременные экземпляры функции batch на одном устройстве с одинаковым контейнером и shared_name будут группировать свои элементы вместе. Если оставлен пустым, имя операции будет использоваться в качестве имени shared.
batching_queue Необязательный string. По умолчанию "".
enable_large_batch_splitting Необязательный bool. По умолчанию False. Вход с большим размером (т. е. большим, чем наибольшее значение allowed_batch_sizes) будет разделен на несколько пакетов размером batch.
name Имя операции (необязательно).
Возвращаемое значение
Список Tensor объектов типа Tout.

© 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/BatchFunction

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API