昇腾社区首页
中文
注册

ActivationOperation

功能

激活函数。

图1 ActivationOperation

约束

激活函数类型请参考ActivationType

定义

struct ActivationParam {
    enum GeLUMode : int{
        TANH_MODE = 0,
        NONE_MODE,
    };
    ActivationType activationType=ACTIVATION_UNDEFINED;
    float scale = 1.0f; // for Swish
    int32_t dim = -1;   // for Swiglu
    GeLUMode geluMode = TANH_MODE;
};

成员

成员名称

描述

GeLUMode

GeLU激活函数可选的计算模式:

  • TANH_MODE:默认值,使用tanh估算。
  • NONE_MODE:原GeLU计算公式。

activationType

激活函数类型,ActivationType类型枚举值。

scale

SWISH激活函数的参数。

dim

SWIGLU激活函数的参数。

geluMode

GeLU模式选择参数。

RELU输入输出描述

参数

维度

数据类型

格式

描述

x

[-1,....,-1]

-1表示当前维度的大小没有约束。

float

ND

输入

output

[-1,....,-1]

-1表示当前维度的大小没有约束。

float

ND

输出

和输入维度/类型/格式相同。

FAST_GELU输入输出描述

参数

维度

数据类型

格式

描述

x

[-1,....,-1]

-1表示当前维度的大小没有约束。

float16

ND

输入

output

[-1,....,-1]

-1表示当前维度的大小没有约束。

float16

ND

输出

和输入维度/类型/格式相同。

LOG输入输出描述

参数

维度

数据类型

格式

描述

x

[-1,....,-1]

-1表示当前维度的大小没有约束。

float16/float

ND

输入

output

[-1,....,-1]

-1表示当前维度的大小没有约束。

float16/float

ND

输出

和输入维度/类型/格式相同。

SWISH输入输出描述

参数

维度

数据类型

格式

描述

x

[-1,....,-1]

-1表示当前维度的大小没有约束。

float16/bf16

ND

输入

output

[-1,....,-1]

-1表示当前维度的大小没有约束。

float16/bf16

ND

输出

和输入维度/类型/格式相同。

GELU输入输出描述

参数

维度

数据类型

格式

描述

x

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

输入

output

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

输出

和输入维度/类型/格式相同。

SWIGLU_FORWARD输入输出描述

参数

维度

数据类型

格式

描述

x

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

输入

“activationType”为ACTIVATION_SWIGLU_FORWARD时:对于Atlas 推理系列产品,最后一维需为32的倍数,且不支持BF16数据类型。

output

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

输出

和输入维度/类型/格式相同,其dim维所对应的大小是输入的一半。

SWIGLU_BACKWARD输入输出描述

参数

维度

数据类型

格式

描述

x1

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

“activationType”为ACTIVATION_SWIGLU_BACKWARD时,不支持Atlas 推理系列产品

x2

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

输入

和x1的维度/类型/格式相同,其dim维所对应的大小是输入x1的2倍。

output

[-1,…,-1]

-1表示当前维度的大小没有约束。

float16/float/bf16

ND

输出

和x1的维度/类型/格式相同,其dim维所对应的大小是输入x1的2倍。