2D Batch Normalisation Layer¶
batchnorm2d_layer_type
batchnorm2d_layer_type(
num_channels=...,
momentum=0.99,
epsilon=1.0e-5,
gamma_init_mean=1.0,
gamma_init_std=0.02,
beta_init_mean=0.0,
beta_init_std=0.02,
kernel_initialiser=...,
bias_initialiser=...,
moving_mean_initialiser=...,
moving_variance_initialiser=...,
input_shape=...
)
The batchnorm2d_layer_type derived type provides a 2D batch normalisation layer.
This layer applies batch normalisation over 4D inputs (width, height, channels, batch), normalizing over the spatial dimensions and batch.
where \(\mu\) and \(\sigma^2\) are the batch mean and variance computed per channel, and \(\gamma\) and \(\beta\) are learned parameters.
Arguments¶
num_channels (integer): Number of channels in the input.
momentum (real(real32)): Momentum for running mean and variance. Default:
0.99.epsilon (real(real32)): Small value added to variance for numerical stability. Default:
1.0e-5.gamma_init_mean (real(real32)): Mean for gamma (scale) initialisation. Default:
1.0.gamma_init_std (real(real32)): Standard deviation for gamma initialisation. Default:
0.02.beta_init_mean (real(real32)): Mean for beta (shift) initialisation. Default:
0.0.beta_init_std (real(real32)): Standard deviation for beta initialisation. Default:
0.02.kernel_initialiser (character(*)): Initialiser for gamma parameters (see Initialisers).
bias_initialiser (character(*)): Initialiser for beta parameters (see Initialisers).
moving_mean_initialiser (character(*)): Initialiser for running mean (see Initialisers).
moving_variance_initialiser (character(*)): Initialiser for running variance (see Initialisers).
input_shape (integer, dimension(:)): Shape of the input data (channels, height, width).
Shape:¶
Input:
(width, height, num_channels, batch_size).Output:
(width, height, num_channels, batch_size).