Spec-Zone.ru › TensorFlow 2.4

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 Число потоков планирования для обработки пакетов работ. Определяет количество пакетов, обрабатываемых параллельно.
max_batch_size Максимальный размер пакета. Размеры пакетов никогда не будут больше этого значения.
batch_timeout_micros Максимальное количество микросекунд ожидания перед выводом неполного пакета.
Tout Список tf.DTypes с длиной >= 1. Типы выходных тензоров.
max_enqueued_batches Необязательный int. По умолчанию 10. Максимальное количество пакетов в очереди. По умолчанию: 10.
allowed_batch_sizes Необязательный список ints. По умолчанию []. Необязательный список разрешенных размеров пакетов. Если оставлен пустым, ничего не делает. В противном случае предоставляет список размеров пакетов, заставляя операцию дополнять пакеты до одного из этих размеров. Элементы должны возрастать монотонно. Если enable_large_batch_splitting — false (т. е., разделение больших входных данных не включено), последний элемент должен быть равен max_batch_size.
container Необязательный string. По умолчанию "". Управляет областью совместного использования этого пакета.
shared_name Необязательный string. По умолчанию "". Одновременные экземпляры batch на одном устройстве с тем же контейнером и shared_name будут объединять свои элементы вместе. Если оставлен пустым, имя операции будет использоваться в качестве shared_name.
batching_queue Необязательный string. По умолчанию "".
enable_large_batch_splitting Необязательный bool. По умолчанию False. Вход с большим размером (т. е., больше, чем максимальное значение allowed_batch_sizes) будет разделен на несколько пакетов с размером пакета.
name Имя операции (необязательно).
Возвращаемое значение
Список Tensor объектов типа Tout.

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

Spec-Zone.ru

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