megengine.functional.nn.logsumexp¶
- logsumexp(inp, axis, keepdims=False)[源代码]¶
计算输入数据沿给定维度
axis
的指数之和的对数。该计算是数值稳定的。\[\text{logsumexp}(x)= \log \sum_{j=1}^{\]n} exp left(x_{ j}right)
为了提高数值稳定性,实现根据以下的变换:
\[\text{logsumexp}(x)= \log \sum_{j=1}^{\]n} exp left(x_{ j}right)
= text{logsumexp}(x)=b+log sum_{j=1}^{
n} exp left(x_{j}-bright)
式中,
\[b = \max(x_j)\]实际案例
>>> import numpy as np >>> x = Tensor(np.arange(-5, 5, dtype=np.float32)).reshape(2,5) >>> y = F.logsumexp(x, axis=1, keepdims=False) >>> y.numpy().round(decimals=4) array([-0.5481, 4.4519], dtype=float32)
- 返回类型