pypto.softmax#

产品支持情况#

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明#

对输入Tensor在指定维度上应用 softmax 函数,将该维度的元素归一化为取值在 [0, 1] 之间的概率分布(所有元素之和为 1),计算公式为:

\[ \text{softmax}(input)_i = \frac{e^{input_i - \text{max}(input)}}{\sum_{j=1}^{k} e^{input_j - \text{max}(input)}} \]

函数原型#

softmax(input: Tensor, dim: int) -> Tensor

参数说明#

参数名

输入/输出

说明

input

输入

源操作数。
支持的数据类型为:DT_FP32
不支持空Tensor;Shape大小不大于2147483647(即INT32_MAX)。

dim

输入

指定归一化的维度。
支持负索引(如 -1 表示最后一个维度)。
需在 [-input.dim, input.dim-1] 范围内。

返回值说明#

返回Tensor类型。其Shape、数据类型与输入Tensor一致,dim指定维度上的元素之和为 1。

调用示例#

x = pypto.tensor([2, 3], pypto.DT_FP32)
y = pypto.softmax(x, -1)

结果示例如下:

输入数据x: [[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]
输出数据y: [[0.0900, 0.2447, 0.6652], [0.0900, 0.2447, 0.6652]]