layer_setup Module Function

private module function layer_setup(num_outputs, coord_dim, kernel_hidden, num_inputs, use_bias, activation, kernel_initialiser, bias_initialiser, verbose) result(layer)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: num_outputs

Number of output node features

integer, intent(in) :: coord_dim

Dimension of edge coordinate features

integer, intent(in), optional :: kernel_hidden

Hidden width of the kernel MLP

integer, intent(in), optional :: num_inputs

Number of input node features when known at construction time

logical, intent(in), optional :: use_bias

Whether to allocate an output bias

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

Activation function specification

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

Kernel and bias initialiser specifications

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

Kernel and bias initialiser specifications

integer, intent(in), optional :: verbose

Verbosity level

Return Value type(graph_nop_layer_type)

Constructed graph neural operator layer


Source Code

     module function layer_setup( &
          num_outputs, coord_dim, kernel_hidden, &
          num_inputs, use_bias, &
          activation, &
          kernel_initialiser, bias_initialiser, &
          verbose &
     ) result(layer)
       integer, intent(in) :: num_outputs
       !! Number of output node features
       integer, intent(in) :: coord_dim
       !! Dimensionality of edge geometric features
       integer, optional, intent(in) :: kernel_hidden
       !! Hidden width of kernel MLP (default: num_outputs)
       integer, optional, intent(in) :: num_inputs
       !! Number of input node features (deferred if absent)
       logical, optional, intent(in) :: use_bias
       !! Whether to use bias (default: .true.)
       class(*), optional, intent(in) :: activation
       !! Activation function
       class(*), optional, intent(in) :: kernel_initialiser, bias_initialiser
       !! Parameter initialisers
       integer, optional, intent(in) :: verbose
       !! Verbosity level
       type(graph_nop_layer_type) :: layer
     end function layer_setup