mindspore.mint.nn.LogSoftmax

class mindspore.mint.nn.LogSoftmax(dim=None)[源代码]

在指定轴上对输入Tensor应用LogSoftmax函数。假设在指定轴上, \(x\) 对应每个元素 \(x_i\) ,则LogSoftmax函数如下所示:

\[\text{output}(x_i) = \log \left(\frac{\exp(x_i)} {\sum_{j = 0}^{N-1}\exp(x_j)}\right),\]

其中, \(N\) 为Tensor长度。

参数:
  • dim (int, 可选) - 指定进行Log softmax运算的轴。默认值: None

返回:

Tensor,和输入Tensor的shape相同。

异常:
  • ValueError - 如果 dim 超出范围[-len(input.shape), len(input.shape))。

支持平台:

Ascend

样例:

>>> import mindspore
>>> from mindspore import Tensor, mint
>>> import numpy as np
>>> x = Tensor(np.array([[-1.0, 4.0, -8.0], [2.0, -5.0, 9.0]]), mindspore.float32)
>>> log_softmax = mint.nn.LogSoftmax(dim=-1)
>>> output = log_softmax(x)
>>> print(output)
[[-5.00672150e+00 -6.72150636e-03 -1.20067215e+01]
 [-7.00091219e+00 -1.40009127e+01 -9.12250078e-04]]