mindspore.ops.logsumexp
- mindspore.ops.logsumexp(x, axis, keep_dims=False)[source]
Reduces a dimension of a tensor by calculating exponential for all elements in the dimension, then calculate logarithm of the sum.
\[logsumexp(x) = \log(\sum(e^(x-x_{max}))) + x_{max}\]- Parameters
x (Tensor) – The input tensor. With float16 or float32 data type.
axis (Union[int, tuple(int), list(int)]) – The dimensions to reduce. Default: (), reduce all dimensions. Only constant value is allowed.
keep_dims (bool) – If True, keep these reduced dimensions and the length is 1. If False, don’t keep these dimensions. Default : False.
- Returns
Tensor, has the same dtype as the x.
If axis is (), and keep_dims is False, the output is a 0-D tensor representing the sum of all elements in the input tensor.
If axis is int, set as 2, and keep_dims is False, the shape of output is \((x_1, x_3, ..., x_R)\).
If axis is tuple(int), set as (2, 3), and keep_dims is False, the shape of output is \((x_1, x_4, ..., x_R)\).
- Supported Platforms:
Ascend
GPU
CPU
Examples
>>> x = Tensor(np.random.randn(3, 4, 5, 6).astype(np.float32)) >>> output = ops.logsumexp(x, 1, keep_dims=True) >>> print(output.shape) (3, 1, 5, 6)