已关闭
[Requirement|需求建议]: 下一代支持 BatchNormExt2 #5001
Sun创建于  21 天前关闭于  21 天前
Sun
Sun成员
21 天前 创建

Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.

Backgroud(背景信息)

BatchNormExt2 为 4D 批量归一化算子,与 TensorFlow fused_batch_norm_v2 兼容,支持训练/推理双模式,输出归一化结果 y 及 4 个统计量(mean / variance / reserve_space_1 / reserve_space_2)。

Origin(信息来源)

cann/ops-nn 仓库 norm 目录下新增算子需求(norm/batch_norm_ext2)。

Benefit / Necessity (价值/作用)

Batch Normalization 是 CNN 等深度网络训练与推理的基础算子,应用广泛。BatchNormExt2 与 TensorFlow fused_batch_norm_v2 接口兼容,便于现有模型/框架无缝迁移;训练模式下同时输出均值、方差等统计量,供反向传播梯度计算直接复用,是批归一化训练链路的必要组成。下一代平台补齐该算子支持,可覆盖依赖 BN 的模型在昇腾上的训练与推理场景。

Design(设计方案)

  • 计算公式:

    y=xE(x)Var(x)+εγ+βy = \frac{x - E(x)}{\sqrt{Var(x) + \varepsilon}} \cdot \gamma + \beta

    其中训练模式下 E(x)Var(x) 由当前批次在空间维度上统计得到(rstd = 1/\sqrt{Var(x)+\varepsilon});推理模式下 E(x)Var(x) 取输入 input_meaninput_variance;\varepsilon 为防止分母为 0 的极小值。

  • 训练模式把 4D 张量折算为 (r1, a, r0),按通道维归约求 batch mean/var,输出 rstd 归一化;推理模式直接用输入 mean/var 归一化,并把 4 个统计量按输入 mean/var 拷贝输出。

likedislike
SunSun成员
21 天前 添加了label:requirement
SunSun成员
21 天前 将 LuckySun 设为负责人
CANN-robotCANN-robot成员
21 天前 关闭了 issue
CANN-robotCANN-robot成员
21 天前 添加了label:resolved