layer_setup Module Function

private module function layer_setup(input_shape, num_filters, kernel_size, stride, dilation, padding, use_bias, activation, kernel_initialiser, bias_initialiser, verbose) result(layer)

Set up the 3D convolutional layer

Arguments

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

Input shape

integer, intent(in), optional :: num_filters

Number of filters

integer, intent(in), optional, dimension(..) :: kernel_size

Kernel size

integer, intent(in), optional, dimension(..) :: stride

Stride

integer, intent(in), optional, dimension(..) :: dilation

Dilation

character(len=*), intent(in), optional :: padding

Padding method

logical, intent(in), optional :: use_bias

Use bias

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

Activation function

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

Activation function, kernel initialiser, and bias initialiser

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

Activation function, kernel initialiser, and bias initialiser

integer, intent(in), optional :: verbose

Verbosity level

Return Value type(conv3d_layer_type)

Instance of the 3D convolutional layer


Source Code

     module function layer_setup( &
          input_shape, &
          num_filters, kernel_size, stride, dilation, padding, &
          use_bias, &
          activation, &
          kernel_initialiser, bias_initialiser, &
          verbose ) result(layer)
       !! Set up the 3D convolutional layer
       integer, dimension(:), optional, intent(in) :: input_shape
       !! Input shape
       integer, optional, intent(in) :: num_filters
       !! Number of filters
       integer, dimension(..), optional, intent(in) :: kernel_size
       !! Kernel size
       integer, dimension(..), optional, intent(in) :: stride
       !! Stride
       integer, dimension(..), optional, intent(in) :: dilation
       !! Dilation
       logical, optional, intent(in) :: use_bias
       !! Use bias
       class(*), optional, intent(in) :: activation, &
            kernel_initialiser, bias_initialiser
       !! Activation function, kernel initialiser, bias initialiser
       character(*), optional, intent(in) :: padding
       !! Padding method
       integer, optional, intent(in) :: verbose
       !! Verbosity level
       type(conv3d_layer_type) :: layer
       !! Instance of the 3D convolutional layer
     end function layer_setup