2026a

# batchNormalization2dLayer


二维批处理归一化层

函数库: TyDeepLearning

# 语法

layer = batchNormalization2dLayer(NumChannels; Epsilon=1e-05, MeanVarianceDecay=0.9, ScaleInitializer="ones", OffsetInitializer="zeros")

# 说明

layer = batchNormalization2dLayer(NumChannels; Epsilon=1e-05, MeanVarianceDecay=0.9, ScaleInitializer="ones", OffsetInitializer="zeros")创建一个二维批处理归一化层。示例

在四维输入(具有额外通道维度的小批量二维输入)上应用批归一化处理,以避免内部协变量偏移。使用 mini-batch 数据和学习参数进行训练,公式定义如下:

# 示例

二维批处理归一化层

创建维度为(1,3,2,2)、元素均为 1 的数组。

using TyDeepLearning
set_backend(:mindspore)
array = ones(Float32, (1, 3, 2, 2))

创建一个二维批处理归一化层,通道数为 3。使用该层处理数组,并输出结果维度。

layer = batchNormalization2dLayer(3)
print(size(TyDeepLearning.predict(layer, array)))
(1, 3, 2, 2)

# 输入参数

NumChannels-输入维度
标量

通道数量,输入数据 shape 中的 C

数据类型: Int64

Epsilon-浮点数
标量

加在分母上的值,以确保数值稳定。默认值:1e-5。

数据类型: Float16 | Float32 | Float64

MeanVarianceDecay-动量
标量

动态均值和动态方差所使用的动量。默认值:0.9。

数据类型: Float16 | Float32 | Float64

ScaleInitializer-参数的初始化方法
字符串

参数的初始化方法。String的值包括 ’zeros’、’ones’ 等。默认值:’ones’。

数据类型: string

OffsetInitializer-参数的初始化方法
字符串

参数的初始化方法。String的值包括 ’zeros’、’ones’ 等。默认值:’zeros’。

数据类型: string

# 输出参数

layer-二维批处理归一化层
网络对象

输出为一个二维批处理归一化层

# 另请参阅

predict | Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift (opens new window)