mindspore.ops.softmax

mindspore.ops.softmax(input, axis=- 1, *, dtype=None)[源代码]

在指定轴上对输入Tensor执行Softmax激活函数做归一化操作。假设指定轴 \(axis\) 上有切片,那么每个元素 \(input_i\) 所对应的Softmax函数如下所示:

\[\text{output}(input_i) = \frac{\exp(input_i)}{\sum_{j = 0}^{N-1}\exp(input_j)},\]

其中 \(N\) 代表Tensor的长度。

参数:
  • input (Tensor) - Softmax的输入,shape为 \((N, *)\) ,其中 \(*\) 为任意额外维度。支持float16和float32。

  • axis (int,可选) - 指定Softmax操作的轴。默认值: -1

关键字参数:
  • dtype (mindspore.dtype, 可选) - 如果设置此参数,则会在执行之前将 input 转换为指定的类型,返回的Tensor类型也将为指定类型 dtype。默认值: None

返回:

Tensor,数据类型和shape与 input 相同。

异常:
  • TypeError - axis 不是int。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input = Tensor(np.array([1, 2, 3, 4, 5]), mindspore.float32)
>>> output = ops.softmax(input)
>>> print(output)
[0.01165623 0.03168492 0.08612854 0.23412167 0.6364086 ]