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}\]- Note - The dimension of input Tensor on Ascend should be less than or equal to 8, and the dimension of input Tensor on CPU should be less than 8. - 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)