mindspore.mint.nn.functional.log_softmax
- mindspore.mint.nn.functional.log_softmax(input, dim=None, *, dtype=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长度。
- 参数:
input (Tensor) - 输入Tensor。
dim (int, 可选) - 指定进行Log softmax运算的轴。默认值:
None
。
- 关键字参数:
dtype (
mindspore.dtype
, 可选) - 输出数据类型。如果不为None,则输入会转化为 dtype。这有利于防止数值溢出。 如果为None,则输出和输入的数据类型一致。默认值:None
。支持的数据类型是{float16, float32, double, bfloat16}。
- 返回:
Tensor,和输入Tensor的shape相同。
- 异常:
TypeError - 如果 input 不是Tensor。
ValueError - 如果 dim 超出范围[-len(input.shape), len(input.shape))。
- 支持平台:
Ascend
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, mint >>> logits = Tensor(np.array([1, 2, 3, 4, 5]), mindspore.float32) >>> output = mint.nn.functional.log_softmax(logits, dim=-1) >>> print(output) [-4.4519143 -3.4519143 -2.4519143 -1.4519144 -0.4519144]