tf.math.reduce_logsumexp
Вычисляет log(sum(exp(элементы по измерениям тензора))).
tf.math.reduce_logsumexp(
input_tensor, axis=None, keepdims=False, name=None
)
Выполняет редукцию input_tensor по измерениям, заданным в axis. Если keepdims не равно true, ранг тензора уменьшается на 1 для каждого элемента в axis, которые должны быть уникальными. Если keepdims равно true, редуцированные измерения сохраняются с длиной 1.
Если axis не содержит элементов, редуцируются все измерения и возвращается тензор с единственным элементом.
Эта функция численно устойчивее, чем log(sum(exp(input))). Она позволяет избежать переполнения, вызванного вычислением exp для больших входных значений, и потери значимости, вызванной вычислением log для малых входных значений.
Например:
x = tf.constant([[0., 0., 0.], [0., 0., 0.]]) tf.reduce_logsumexp(x) # log(6) tf.reduce_logsumexp(x, 0) # [log(2), log(2), log(2)] tf.reduce_logsumexp(x, 1) # [log(3), log(3)] tf.reduce_logsumexp(x, 1, keepdims=True) # [[log(3)], [log(3)]] tf.reduce_logsumexp(x, [0, 1]) # log(6)
| Аргументы | |
|---|---|
input_tensor | Тензор для редукции. Должен иметь числовой тип. |
axis | Измерения для редукции. Если None (значение по умолчанию), редуцируются все измерения. Должно находиться в диапазоне [-rank(input_tensor), rank(input_tensor)). |
keepdims | Если true, редуцированные измерения сохраняются с длиной 1. |
name | Имя операции (необязательно). |
| Возвращает | |
|---|---|
| Редуцированный тензор. |
© 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/reduce_logsumexp