mindspore.ops.softmax
- mindspore.ops.softmax(x, axis=- 1, *, dtype=None)[源代码]
在指定轴上对输入Tensor执行Softmax激活函数做归一化操作。假设指定轴 \(x\) 上有切片,那么每个元素 \(x_i\) 所对应的Softmax函数如下所示:
\[\text{output}(x_i) = \frac{exp(x_i)}{\sum_{j = 0}^{N-1}\exp(x_j)},\]其中 \(N\) 代表Tensor的长度。
- 参数:
x (Tensor) - Softmax的输入,shape为 \((N, *)\) ,其中 \(*\) 为任意额外维度。其数据类型为float16或float32。
axis (Union[int, tuple[int]], 可选) - 指定Softmax操作的轴。默认值:-1。
- 关键字参数:
dtype (
mindspore.dtype
, 可选) - 如果设置此参数,则会在执行之前将 x 转换为指定的类型,返回的Tensor类型也将为指定类型 dtype。默认值:None。
- 返回:
Tensor,数据类型和shape与 x 相同。
- 异常:
TypeError - axis 不是int或者tuple。
TypeError - x 的数据类型既不是float16也不是float32。
ValueError - axis 是长度小于1的tuple。
ValueError - axis 是一个tuple,其元素不全在[-len(x.shape), len(x.shape))范围中。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> x = Tensor(np.array([1, 2, 3, 4, 5]), mindspore.float32) >>> output = ops.softmax(x) >>> print(output) [0.01165623 0.03168492 0.08612854 0.23412167 0.6364086 ]