layer_setup Module Function

private module function layer_setup(input_shape, num_channels, num_inputs, momentum, epsilon, gamma_init_mean, gamma_init_std, beta_init_mean, beta_init_std, gamma_initialiser, beta_initialiser, moving_mean_initialiser, moving_variance_initialiser, verbose) result(layer)

Set up the 1D batch normalisation layer

Arguments

Type IntentOptional Attributes Name
integer, intent(in), optional, dimension(:) :: input_shape

Input shape

integer, intent(in), optional :: num_channels

Number of channels and inputs

integer, intent(in), optional :: num_inputs

Number of channels and inputs

real(kind=real32), intent(in), optional :: momentum

Momentum and epsilon

real(kind=real32), intent(in), optional :: epsilon

Momentum and epsilon

real(kind=real32), intent(in), optional :: gamma_init_mean

Gamma initialisation mean and standard deviation

real(kind=real32), intent(in), optional :: gamma_init_std

Gamma initialisation mean and standard deviation

real(kind=real32), intent(in), optional :: beta_init_mean

Beta initialisation mean and standard deviation

real(kind=real32), intent(in), optional :: beta_init_std

Beta initialisation mean and standard deviation

class(*), intent(in), optional :: gamma_initialiser

Initialisers

class(*), intent(in), optional :: beta_initialiser

Initialisers

class(*), intent(in), optional :: moving_mean_initialiser

Initialisers

class(*), intent(in), optional :: moving_variance_initialiser

Initialisers

integer, intent(in), optional :: verbose

Verbosity level

Return Value type(batchnorm1d_layer_type)

Instance of the 1D batch normalisation layer


Source Code

     module function layer_setup( &
          input_shape, &
          num_channels, num_inputs, &
          momentum, epsilon, &
          gamma_init_mean, gamma_init_std, &
          beta_init_mean, beta_init_std, &
          gamma_initialiser, beta_initialiser, &
          moving_mean_initialiser, moving_variance_initialiser, &
          verbose &
     ) result(layer)
       !! Set up the 1D batch normalisation layer
       integer, dimension(:), optional, intent(in) :: input_shape
       !! Input shape
       integer, optional, intent(in) :: num_channels, num_inputs
       !! Number of channels and inputs
       real(real32), optional, intent(in) :: momentum, epsilon
       !! Momentum and epsilon
       real(real32), optional, intent(in) :: gamma_init_mean, gamma_init_std
       !! Gamma initialisation mean and standard deviation
       real(real32), optional, intent(in) :: beta_init_mean, beta_init_std
       !! Beta initialisation mean and standard deviation
       class(*), optional, intent(in) :: &
            gamma_initialiser, beta_initialiser, &
            moving_mean_initialiser, moving_variance_initialiser
       !! Initialisers
       integer, optional, intent(in) :: verbose
       !! Verbosity level
       type(batchnorm1d_layer_type) :: layer
       !! Instance of the 1D batch normalisation layer
     end function layer_setup