logsumexp¶
该OP沿着 axis
计算 x
的以e为底的指数的和的自然对数。计算公式如下:
\[logsumexp(x) = \log\sum exp(x)\]
参数¶
x (Tensor) - 输入的Tensor,数据类型为:float32、float64 。
axis (int|list|tuple, 可选) - 指定对
x
进行计算的轴。axis
可以是int、list(int)、tuple(int)。如果axis
包含多个维度,则沿着axis
中的所有轴进行计算。axis
或者其中的元素值应该在范围[-D, D)内,D是x
的维度。如果axis
或者其中的元素值小于0,则等价于 \(axis + D\) 。如果axis
是None,则对x
的全部元素计算logsumexp。默认值为None。keepdim (bool, 可选) - 是否在输出Tensor中保留减小的维度。如果
keepdim
为True,则输出Tensor和x
具有相同的维度(减少的维度除外,减少的维度的大小为1)。否则,输出Tensor的形状会在axis
上进行squeeze操作。默认值为False。name (str, 可选) - 操作的名称(可选,默认值为None)。更多信息请参见 Name。
返回¶
Tensor
,沿着axis
进行logsumexp计算的结果,数据类型和x
相同。
代码示例¶
import paddle
x = paddle.to_tensor([[-1.5, 0., 2.], [3., 1.2, -2.4]])
out1 = paddle.logsumexp(x) # [3.4691226]
out2 = paddle.logsumexp(x, 1) # [2.15317821, 3.15684602]