文件最后提交记录最后更新时间
2 个月前
2 个月前
2 个月前
2 个月前
2 个月前
2 个月前
README

LayerNormalizationGrad

产品支持情况

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

功能说明

  • 算子功能:完成 LayerNormalization 梯度计算。

  • 计算公式:

x_hat[i]=(x[i]−mean[i])∗rstd[i]x\_hat[i] = (x[i] - mean[i]) * rstd[i]

dxhat[i]=dy[i]∗gammadxhat[i] = dy[i] * gamma

ds[i]=sum(dxhat[i]∗x_hat[i])ds[i] = sum(dxhat[i] * x\_hat[i])

db[i]=sum(dxhat[i])db[i] = sum(dxhat[i])

dx[i]=rstd[i]∗(dxhat[i]−(db[i]+ds[i]∗x_hat[i])/D)dx[i] = rstd[i] * (dxhat[i] - (db[i] + ds[i] * x\_hat[i]) / D)

dgamma=sum(dy∗x_hat,axis=0)dgamma = sum(dy * x\_hat, axis=0)

dbeta=sum(dy,axis=0)dbeta = sum(dy, axis=0)

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
dy 输入 上游梯度,形状为 [N, D]。 FLOAT、FLOAT16、BFLOAT16 ND
x 输入 前向输入,形状为 [N, D]。 FLOAT、FLOAT16、BFLOAT16 ND
gamma 输入 缩放参数,形状为 [D]。 FLOAT、FLOAT16、BFLOAT16 ND
mean 输入 前向保存的均值,形状为 [N]。 FLOAT、FLOAT16、BFLOAT16 ND
rstd 输入 前向保存的 1/sqrt(var+eps),形状为 [N]。 FLOAT、FLOAT16、BFLOAT16 ND
dx 输出 对输入的梯度,形状为 [N, D]。 FLOAT、FLOAT16、BFLOAT16 ND
dgamma 输出 对 gamma 的梯度,形状为 [D]。 FLOAT、FLOAT16、BFLOAT16 ND
dbeta 输出 对 beta 的梯度,形状为 [D]。 FLOAT、FLOAT16、BFLOAT16 ND

约束说明

无

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_layer_normalization_grad 参见算子调用完成算子编译和验证。