CANN/ops-nn批归一化梯度算子
BatchNormalizationGrad【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn产品支持情况产品是否支持Ascend 950PR/Ascend 950DT×Atlas A3 训练系列产品/Atlas A3 推理系列产品×Atlas A2 训练系列产品/Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品×Atlas 推理系列产品×Atlas 训练系列产品×功能说明算子功能完成 BatchNormalization 反向梯度计算。计算公式$$ grad_input \frac{weight \cdot save_invstd}{\sqrt{m}} \cdot (m \cdot grad_output - sum(grad_output) - xhat \cdot sum(grad_output \cdot xhat)) $$$$ grad_weight sum(grad_output \cdot xhat) $$$$ grad_bias sum(grad_output) $$其中 $xhat (input - save_mean) \cdot save_invstd$$m N \times H \times W \times ...$每个通道的元素数。参数说明参数名输入/输出/属性描述数据类型数据格式grad_output输入反向传播输入的梯度。FLOAT、FLOAT16NDinput输入前向传播的输入特征图。FLOAT、FLOAT16NDweight输入BN 层的 gamma 权重参数。FLOAT、FLOAT16NDbias输入BN 层的 beta 偏置参数未参与梯度计算保留接口兼容性。FLOAT、FLOAT16NDsave_mean输入前向传播保存的均值。FLOAT、FLOAT16NDsave_invstd输入前向传播保存的标准差倒数。FLOAT、FLOAT16NDepsilon属性BN 层 epsilon 参数。默认值为 1e-5。FLOAT-grad_input输出输入特征图的梯度。FLOAT、FLOAT16NDgrad_weight输出权重参数的梯度。FLOAT、FLOAT16NDgrad_bias输出偏置参数的梯度。FLOAT、FLOAT16ND约束说明输入张量维度至少为 2 维N, C, ...。支持多核并行计算按通道维度划分。save_mean、save_invstd、weight、bias、grad_weight、grad_bias 的第一维大小等于通道数 C。调用说明调用方式调用样例说明aclnn调用test_aclnn_batch_normalization_grad参见算子调用完成算子编译和验证。【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考