BNInferGrad【免费下载链接】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 训练系列产品√功能说明算子功能计算BatchNorm在推理模式trainingFalse下输入数据关于损失函数的梯度等价于PyTorchbatch_norm_backward(..., trainingfalse, ...)中grad_input的子计算。计算公式$$ x_backprop grads \times scale \times \frac{1}{\sqrt{batch_variance \epsilon}} $$参数说明参数名输入/输出/属性描述数据类型数据格式grads输入上游梯度张量公式中的grads。fp16、fp32、bf16ND、NCHW、NHWC、NC1HWC0scale输入BatchNorm缩放参数gamma公式中的scale长度等于grads通道维C。fp32ND、NCHW、NHWC、NC1HWC0batch_variance输入推理阶段BatchNorm方差公式中的batch_variance长度等于grads通道维C。fp32ND、NCHW、NHWC、NC1HWC0epsilon属性防除零常数公式中的ε默认值为0.0001。fp32-x_backprop输出BNInferGrad计算的输出张量shape与grads一致。fp16、fp32、bf16ND、NCHW、NHWC、NC1HWC0约束说明grads与x_backprop的dtype须保持一致。scale与batch_variance的dtype须为fp32。当format为NC1HWC0时scale与batch_variance的shape需调整为(1, C1, 1, 1, C0)。调用说明调用方式样例代码说明图模式test_geir_bn_infer_grad.cpp通过图模式方式调用BNInferGrad算子。【免费下载链接】ops-nn本项目是CANN提供的神经网络类计算算子库实现网络在NPU上加速计算。项目地址: https://gitcode.com/cann/ops-nn创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考