Spec-Zone.ru › TensorFlow

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='',
    low_priority_max_batch_size=0,
    low_priority_batch_timeout_micros=0,
    low_priority_allowed_batch_sizes=[],
    low_priority_max_enqueued_batches=0,
    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 Необязательное целое число. По умолчанию 10. Максимальное количество очереди пакетов. По умолчанию: 10.
allowed_batch_sizes Необязательный список целых чисел. По умолчанию []. Необязательный список разрешенных размеров пакетов. Если оставлен пустым, ничего не делает. В противном случае предоставляет список размеров пакетов, заставляя операцию дополнять пакеты до одного из этих размеров. Элементы должны возрастать монотонно. Если enable_large_batch_splitting равен false (т. е. large-input-split не включен), последний элемент должен быть равен max_batch_size.
container Необязательная строка. По умолчанию "". Управляет областью совместного использования этого пакета.
shared_name Необязательная строка. По умолчанию "". Одновременные запущенные экземпляры batch на том же устройстве с одинаковым контейнером и shared_name будут объединять свои элементы вместе. Если оставлено пустым, имя операции будет использоваться в качестве shared_name.
batching_queue Необязательный bool. По умолчанию "".
low_priority_max_batch_size Необязательный bool. По умолчанию 0.
low_priority_batch_timeout_micros Необязательный bool. По умолчанию 0.
low_priority_allowed_batch_sizes Необязательный список bool. По умолчанию [].
low_priority_max_enqueued_batches Необязательный bool. По умолчанию 0.
enable_large_batch_splitting Необязательный bool. По умолчанию False. Входной параметр с большим размером (т. е. больше, чем наибольшее значение allowed_batch_sizes) будет разделен на несколько пакетов с размером пакета.
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/api_docs/python/tf/raw_ops/BatchFunction

Spec-Zone.ru

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