Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
BatchNormExt2 为 4D 批量归一化算子,与 TensorFlow fused_batch_norm_v2 兼容,支持训练/推理双模式,输出归一化结果 y 及 4 个统计量(mean / variance / reserve_space_1 / reserve_space_2)。
BatchNormExt2
fused_batch_norm_v2
y
cann/ops-nn 仓库 norm 目录下新增算子需求(norm/batch_norm_ext2)。
norm/batch_norm_ext2
Batch Normalization 是 CNN 等深度网络训练与推理的基础算子,应用广泛。BatchNormExt2 与 TensorFlow fused_batch_norm_v2 接口兼容,便于现有模型/框架无缝迁移;训练模式下同时输出均值、方差等统计量,供反向传播梯度计算直接复用,是批归一化训练链路的必要组成。下一代平台补齐该算子支持,可覆盖依赖 BN 的模型在昇腾上的训练与推理场景。
计算公式:
y=x−E(x)Var(x)+ε⋅γ+βy = \frac{x - E(x)}{\sqrt{Var(x) + \varepsilon}} \cdot \gamma + \beta y=Var(x)+εx−E(x)⋅γ+β
其中训练模式下 E(x)、Var(x) 由当前批次在空间维度上统计得到(rstd = 1/\sqrt{Var(x)+\varepsilon});推理模式下 E(x)、Var(x) 取输入 input_mean、input_variance;\varepsilon 为防止分母为 0 的极小值。
E(x)
Var(x)
rstd = 1/\sqrt{Var(x)+\varepsilon}
input_mean
input_variance
\varepsilon
训练模式把 4D 张量折算为 (r1, a, r0),按通道维归约求 batch mean/var,输出 rstd 归一化;推理模式直接用输入 mean/var 归一化,并把 4 个统计量按输入 mean/var 拷贝输出。
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
BatchNormExt2为 4D 批量归一化算子,与 TensorFlowfused_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与 TensorFlowfused_batch_norm_v2接口兼容,便于现有模型/框架无缝迁移;训练模式下同时输出均值、方差等统计量,供反向传播梯度计算直接复用,是批归一化训练链路的必要组成。下一代平台补齐该算子支持,可覆盖依赖 BN 的模型在昇腾上的训练与推理场景。Design(设计方案)
计算公式:
y=Var(x)+εx−E(x)⋅γ+β
其中训练模式下
E(x)、Var(x)由当前批次在空间维度上统计得到(rstd = 1/\sqrt{Var(x)+\varepsilon});推理模式下E(x)、Var(x)取输入input_mean、input_variance;\varepsilon为防止分母为 0 的极小值。训练模式把 4D 张量折算为 (r1, a, r0),按通道维归约求 batch mean/var,输出 rstd 归一化;推理模式直接用输入 mean/var 归一化,并把 4 个统计量按输入 mean/var 拷贝输出。