文件最后提交记录最后更新时间
2 天前
17 天前
17 天前
17 天前
16 天前
17 天前
17 天前
17 天前
2 天前
README

GLUGrad

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品
Atlas 训练系列产品

功能说明

  • 接口功能:GLU的反向梯度计算。将输入张量self沿着指定的维度dim平均分成两个张量a和b,根据gradOut计算梯度。

  • 计算公式:

    ∂GLU(a,b)∂(a,b)=cat(σ(b),σ(b)⊗a⊗(1−σ(b)))\frac{\partial GLU(a,b)}{\partial(a,b)}=cat(\sigma(b),\sigma(b) \otimes a \otimes (1-\sigma(b)))

    数学计算表达式: 假设输出的GLUGrad有两部分组成:out=[a_grad, b_grad],则:

    • sig_b=sigmoid(b)
    • a_grad=grad_out*sig_b
    • b_grad=a_grad*(a - a*sig_b)

    其中:grad_out为梯度输出,a表示的是输入张量self根据指定dim进行均分后的前部分张量,b表示后半部分张量。

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
grad_out 输入 梯度输出张量。 DOUBLE、FLOAT、FLOAT16、BFLOAT16 ND
self 输入 前向传播的输入张量。 DOUBLE、FLOAT、FLOAT16、BFLOAT16 ND
dim 属性 表示要拆分输入self的维度。 INT64 -
out 输出 梯度输出,shape与self一致。 DOUBLE、FLOAT、FLOAT16、BFLOAT16 ND

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_glu_backward 通过aclnnGluBackward接口方式调用GluGrad算子。