SoftmaxOperation

功能

Softmax是一种归一化激活函数,可以将Tensor(张量)的某个或多个维度数据归一化,对应维度上每一个元素的范围都在(0, 1)之间并且和为1。

图1 SoftmaxOperation

计算公式

使用场景

通常作为模型的最后一层,例如在Transformer模型中将Self-Attention的K、Q进行softmax,获取相应的相关性。

定义

struct SoftmaxParam {
    SVector<int64_t> axes;
};

参数列表

成员名称

类型

默认值

描述

axes

SVector<int64_t>

-

指定轴(维度),axes可以支持多个轴上进行处理。

  • axes不能为空,当指定多个轴时,多个轴之间必须连续且从小到大排列。
  • axes的元素要求大于或等于-1且小于输入x的维度。

输入

参数

维度

数据类型

格式

描述

x

[dim_0,dim_1,... ,dim_n]

float16/float/bf16

ND

输入tensor。

输出

参数

维度

数据类型

格式

描述

output

[dim_0,dim_1,... ,dim_n]

float16/float/bf16

ND

输出tensor。维度和数据类型与输入tensor一致

功能列表