Spec-Zone.ru › TensorFlow

tf.math.cumulative_logsumexp

Вычисляет накопительную сумму log-sum-exp тензора x вдоль axis.

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

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

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

tf.compat.v1.math.cumulative_logsumexp

tf.math.cumulative_logsumexp(
    x, axis=0, exclusive=False, reverse=False, name=None
)

По умолчанию эта операция выполняет включительную накопительную сумму log-sum-exp, то есть первый элемент входных данных совпадает с первым элементом выходных данных.

Эта операция значительно более численно устойчива, чем эквивалентная операция TensorFlow tf.math.log(tf.math.cumsum(tf.math.exp(x))), хотя при бесконечной точности вычислений она даёт тот же результат. Однако обратите внимание, что в некоторых случаях для заданного элемента она может быть менее устойчивой, чем tf.math.reduce_logsumexp, поскольку применяет «приём log-sum-exp» иначе.

Точнее, tf.math.reduce_logsumexp использует следующий приём:

log(sum(exp(x))) == log(sum(exp(x - max(x)))) + max(x)

его нельзя напрямую использовать здесь, поскольку не существует быстрого способа применить его к каждому префиксу x[:i]. Вместо этого эта функция реализует префиксное сканирование с помощью попарного log-add-exp — коммутативной и ассоциативной (с точностью до погрешности чисел с плавающей запятой) операции:

log_add_exp(x, y) = log(exp(x) + exp(y))
                  = log(1 + exp(min(x, y) - max(x, y))) + max(x, y)

Однако сведение с использованием указанной выше операции приводит к другому дереву вычислений (логарифмы вычисляются многократно, а не только в конце), а максимум вычисляется только попарно, а не для всего префикса. В целом это приводит к другим и немного менее точным вычислениям.

Аргументы
x Tensor. Должен иметь один из следующих типов: float16, float32, float64.
axis Tensor типа int32 или int64 (по умолчанию: 0). Значение должно находиться в диапазоне [-rank(x), rank(x)).
exclusive Если True, выполняет исключительную накопительную сумму log-sum-exp.
reverse Если True, выполняет накопительную сумму log-sum-exp в обратном направлении.
name Имя операции (необязательно).
Возвращает
Tensor. Имеет ту же форму и тип, что и x.

© 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/math/cumulative_logsumexp

Spec-Zone.ru

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