TF2—tf.keras.layers.BatchNormalization

BatchNormalization参数详解

原网址

tf.keras.layers.BatchNormalization(
    axis=-1, momentum=0.99, epsilon=0.001, center=True, scale=True,
    beta_initializer='zeros', gamma_initializer='ones',
    moving_mean_initializer='zeros', moving_variance_initializer='ones',
    beta_regularizer=None, gamma_regularizer=None, beta_constraint=None,
    gamma_constraint=None, renorm=False, renorm_clipping=None, renorm_momentum=0.99,
    fused=None, trainable=True, virtual_batch_size=None, adjustment=None, name=None,
    **kwargs
)

描述

在每批中对上一层的激活进行归一化,即应用转换以将平均激活保持在0附近并将激活标准偏差保持在1附近

参数

axis
整数,应该规范化的轴(通常是特征轴)
例如,在具有data_format =“ channels_first”的Conv2D图层之后,在BatchNormalization中设置axis = 1

momentum
移动平均线的动量

epsilon
将小浮点数添加到方差以避免被零除

center
如果为真,将beta的偏移量加到标准化张量。如果为False,则忽略beta

scale
如果为真,乘以gamma。如果为False,则不使用gamma
当下一层是线性的(例如nn.relu),这可以被禁用,因为缩放将由下一层完成。

beta_initializer : beta权重的初始化

gamma_initializer : gamma权重的初始化

moving_mean_initializer : moving_mean的初始化

moving_variance_initializer : moving_variance的初始化

beta_regularizer : beta权重的可选正则化

gamma_regularizer : gamma权重的可选正则化

beta_constraint : beta权重的可选约束

gamma_constraint : gamma权重的可选约束

renorm : 动量用renorm更新移动平均值和标准偏差

renorm_clipping : 可以将键“ rmax”,“ rmin”,“ dmax”映射到用于裁剪重新规范校正的标量张量的字典

renorm_momentum
动量用renorm更新移动平均值和标准偏差。与动量不同的是,它会影响训练,不能太小(那会增加噪音),也不能太大

fused
如果为True,则使用更快的融合实现,如果无法使用融合实现,则引发ValueError。
如果为None,请尽可能使用更快的实现。
如果为False,则不要使用融合的实现。

virtual_batch_size
int型。默认情况下,virtual_batch_size为None,这意味着在整个批处理中执行批标准化

adjustment
仅在训练期间,采用包含输入张量的(动态)形状的张量并返回一对(比例,偏差)的函数以应用于标准化值(在gamma和beta之前)的函数
如果为无,则不应用任何调整。
如果指定了virtual_batch_size,则无法指定。

调用参数

inputs
输入张量

training
布尔值,指示该层是应在训练模式下还是在推理模式下运行
if training = True时,
该层将使用当前一批输入的均值和方差对输入进行归一化
if training = False时,
该层将使用在训练过程中获得的移动统计数据的均值和方差对输入进行归一化。

Input shape

当使用这一层作为模型的第一层时,使用关键字参数input_shape

Output shape

与输入的形状相同

猜你喜欢

转载自blog.csdn.net/weixin_46649052/article/details/112703446
tf2