激活处理, 支持多种激活函数。
激活函数输入输出数据类型请参考表1进行配置。
struct ActivationParam { ActivationType activationType; float scale = 1.0f; // for Swish int32_t dim = -1; // for Swiglu };
成员名称 |
描述 |
---|---|
activationType |
激活函数类型,ActivationType类型枚举值。 |
scale |
SWISH激活函数的参数。 |
dim |
SWIGLU激活函数的参数。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x |
[-1,…,-1] -1表示当前维度的大小没有约束。 |
float16/float/bf16 |
ND |
数据类型依据“activationType”的激活类型决定。 当“activationType”为ACTIVATION_LOG,要求大于0。 当“activationType”为ACTIVATION_SWIGLU_FORWARD时:若为Atlas 推理系列产品(配置Ascend 310P AI处理器),最后一维需为32的倍数,且不支持数据类型为BF16。 当“activationType”为ACTIVATION_SWIGLU_BACKWARD时,不支持Atlas 推理系列产品(配置Ascend 310P AI处理器)。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
output |
[-1,…,-1] -1表示当前维度的大小没有约束。 |
float16/float/bf16 |
ND |
输出和输入维度/类型/格式相同。 |