logsumexp¶

paddle.fluid.layers.logsumexp(x, dim=None, keepdim=False, out=None, name=None)[source]

This operator calculates the log of the sum of exponentials of the input Tensor.

$logsumexp(x) = \log\sum exp(x)$
Parameters
• x (Variable) – Input LoDTensor or Tensor. Must be one of the following types: float32, float64.

• dim (list|int, optional) – The dimensions along which the sum is performed. If None, sum all elements of input and return a Tensor variable with a single element, otherwise must be in the range $$[-rank(input), rank(input))$$. If $$dim[i] < 0$$, the dimension to reduce is $$rank + dim[i]$$.

• keep_dim (bool, optional) – Whether to reserve the reduced dimension in the output Tensor. The result tensor will have one fewer dimension than the input unless keep_dim is true, default value is False.

• out (Variable), optional) – Enable user to explicitly specify an output variable to save result.

• name (str, optional) – The default value is None. Normally there is no need for user to set this property. For more information, please refer to Name

Returns

The calcuated result Tensor/LoDTensor.

Return type

Variable

Examples:

import paddle
import numpy as np

with fluid.dygraph.guard():
np_x = np.random.uniform(0.1, 1, [10]).astype(np.float32)
x = fluid.dygraph.to_variable(np_x)
print(fluid.layers.logsumexp(x).numpy())

import paddle