BNTrainingReduce 是 BatchNorm 训练阶段的统计量归约算子:对四维 NCHW 输入沿 N、H、W 轴归约,按通道输出元素和 sum 与平方和 square_sum。现有 Ascend 950PR/Ascend 950DT 产品支持项需要补齐 AscendC 实现,使 aclnnBatchNormReduce 及图模式能够在该平台完成编译和执行。
BNTrainingReduce
sum
square_sum
aclnnBatchNormReduce
输入 x 支持 FLOAT16、BFLOAT16、FLOAT,输出固定为一维 FLOAT/ND;FLOAT16、BFLOAT16 输入按 FLOAT 精度执行平方与累加。算子无属性,并需要处理空 Tensor 场景。
x
CANN ops-nn 仓 norm 类算子的 Ascend 950 适配需求。当前实现来源为提交者 lianjieyu 的 PR #8543;PR 中未注明更具体的提出部门或团队。
ops-nn
norm
lianjieyu
[C]
sum_c = Σ(n,h,w) x[n,c,h,w]
square_sum_c = Σ(n,h,w) x[n,c,h,w]^2
Backgroud(背景信息)
BNTrainingReduce是 BatchNorm 训练阶段的统计量归约算子:对四维 NCHW 输入沿 N、H、W 轴归约,按通道输出元素和sum与平方和square_sum。现有 Ascend 950PR/Ascend 950DT 产品支持项需要补齐 AscendC 实现,使aclnnBatchNormReduce及图模式能够在该平台完成编译和执行。输入
x支持 FLOAT16、BFLOAT16、FLOAT,输出固定为一维 FLOAT/ND;FLOAT16、BFLOAT16 输入按 FLOAT 精度执行平方与累加。算子无属性,并需要处理空 Tensor 场景。Origin(信息来源)
CANN
ops-nn仓norm类算子的 Ascend 950 适配需求。当前实现来源为提交者lianjieyu的 PR #8543;PR 中未注明更具体的提出部门或团队。Benefit / Necessity (价值/作用)
Design(设计方案)
BNTrainingReduce原型:输入x,输出sum、square_sum;输入限定 FLOAT16/BFLOAT16/FLOAT + NCHW,输出固定 FLOAT + ND。[C],未知 Rank 时保留动态推导;两个输出数据类型固定为 FLOAT。sum_c = Σ(n,h,w) x[n,c,h,w]和square_sum_c = Σ(n,h,w) x[n,c,h,w]^2,并单独处理空 Tensor。验收标准
sum、square_sum,Shape 均为[C],结果满足精度标准。aclnnBatchNormReduce文档及算子列表与实现能力一致。Related PR