文件最后提交记录最后更新时间
22 天前
1 个月前
1 个月前
1 个月前
1 个月前
3 个月前
1 个月前
README

GeluGradV2

产品支持情况

产品 是否支持
Atlas A2 训练系列产品/Atlas A2 推理系列产品

功能说明

  • 算子功能:求geluv2函数梯度。

  • 计算公式:

    Gelu正向(其中x可以为标量或者Tensor):

    Gelu(x)=x⋅Φ(x)=x/2⋅[1+erf(x/2)]Gelu(x)=x \cdot \Phi(x)=x/2 \cdot [1+erf(x/\sqrt{2})]

    其中erf的计算公式为:

    erf(x)=2π∑n=0∞(−1)n⋅x2n+1n!⋅(2n+1)erf(x)=\frac{2}{\sqrt \pi}\sum^{\infty}_{n=0}{\frac{(-1)^n \cdot x^{2n+1}}{n! \cdot (2n+1)}}

    gradInput和gradOutput的关系可以表示为:

    gradInput=gradOutput⋅(12+12⋅erf(x2)+x2π⋅e−x22)gradInput = gradOutput \cdot (\frac{1}{2}+\frac{1}{2} \cdot erf(\frac{x}{\sqrt2})+\frac{x}{\sqrt{2\pi}} \cdot e^{-\frac{x^2}{2}})

    Gelu近似计算公式为:

    Gelu(x)=0.5x(1+tanh(2/π(x+0.044715x3)))Gelu(x)=0.5x(1+tanh(\sqrt{2/\pi}(x+0.044715x^3)))

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
x 输入 反向传播梯度 FLOAT、FLOAT16、BFLOAT16 ND、FRACTAL_NZ,NC1HWC0
dy 输入 与"x"具有相同的类型、格式和形状。 FLOAT、FLOAT16、BFLOAT16 ND、FRACTAL_NZ,NC1HWC0
approximate 属性 可选 str
z 输出 公式中的输出张量 FLOAT、FLOAT16、BFLOAT16 ND、FRACTAL_NZ,NC1HWC0

调用说明

调用方式 样例代码 说明
Aclnn模式 test_aclnn_gelu_backward_v2 通过Aclnn接口调用GeluGradV2算子aclnnGeluBackwardV2接口文档

约束说明

贡献说明

贡献者 贡献方 贡献算子 贡献时间 贡献内容
ilovescrapy 个人开发者 GeluGradV2 2026 GeluGradV2算子适配开源仓