Spec-Zone.ru › TensorFlow

tf.nondifferentiable_batch_function

Объединяет в пакеты вычисления, выполняемые декорированной функцией.

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

Совместимые псевдонимы для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.nondifferentiable_batch_function

tf.nondifferentiable_batch_function(
    num_batch_threads,
    max_batch_size,
    batch_timeout_micros,
    allowed_batch_sizes=None,
    max_enqueued_batches=10,
    autograph=True,
    enable_large_batch_splitting=True
)

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

@batch_function(1, 2, 3)
def layer(a):
  return tf.matmul(a, a)

b = layer(w)

если несколько вызовов session.run одновременно пытаются вычислить b, значения w будут собраны и в недетерминированном порядке объединены по первой оси, а вычисление выполнит только один поток. Подробнее см. в документации по операции Batch.

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

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

Аргументы
num_batch_threads Количество потоков планировщика для обработки пакетов задач. Определяет количество пакетов, обрабатываемых параллельно.
max_batch_size Размер пакетов не будет превышать это значение.
batch_timeout_micros Максимальное время ожидания в микросекундах перед выводом неполного пакета.
allowed_batch_sizes Необязательный список допустимых размеров пакетов. Если список пуст, ничего не происходит. В противном случае он задаёт размеры пакетов, до которых операция дополняет пакеты. Значения должны монотонно возрастать, а последнее значение должно совпадать с max_batch_size.
max_enqueued_batches Максимальная глубина очереди пакетов. По умолчанию — 10.
autograph Использовать ли AutoGraph для компиляции кода на Python и кода в eager-стиле с целью эффективного выполнения в режиме графа.
enable_large_batch_splitting Значение этого параметра не влияет на результат обработки при одинаковых входных данных; оно влияет на детали реализации, указанные ниже: 1. Повышает эффективность пакетной обработки за счёт исключения ненужного дополнения. 2. max_batch_size задаёт ограничение на размер входных данных, а allowed_batch_sizes — ограничение на размер обрабатываемой задачи. Пользователь API может передать входные данные размером 128 при значении 'max_execution_batch_size' 32 -> реализация может разделить входные данные размером 128 на 4 части по 32 элемента, запланировать их параллельную обработку, а затем вернуть объединённые результаты для всех 128 элементов.
Возвращаемое значение
Декорированная функция вернёт тензоры с результатами вычислений, не объединёнными в пакет.

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

Spec-Zone.ru

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