layer_setup Module Function

private module function layer_setup(num_vertex_features, num_edge_features, num_time_steps, max_vertex_degree, num_outputs, min_vertex_degree, message_activation, readout_activation, kernel_initialiser, verbose) result(layer)

Set up the message passing layer

Arguments

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

Number of vertex features

integer, intent(in), dimension(:) :: num_edge_features

Number of edge features

integer, intent(in) :: num_time_steps

Number of time steps

integer, intent(in) :: max_vertex_degree

Maximum vertex degree

integer, intent(in) :: num_outputs

Number of outputs

integer, intent(in), optional :: min_vertex_degree

Minimum vertex degree

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

Message and readout activation functions

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

Message and readout activation functions

character(len=*), intent(in), optional :: kernel_initialiser
integer, intent(in), optional :: verbose

Kernel initialiser ! Kernel initialiser Verbosity level

Return Value type(duvenaud_msgpass_layer_type)

Instance of the message passing layer


Source Code

     module function layer_setup( &
          num_vertex_features, num_edge_features, num_time_steps, &
          max_vertex_degree, &
          num_outputs, &
          min_vertex_degree, &
          message_activation, &
          readout_activation, &
          kernel_initialiser, &
          verbose &
     ) result(layer)
       !! Set up the message passing layer
       integer, dimension(:), intent(in) :: num_vertex_features
       !! Number of vertex features
       integer, dimension(:), intent(in) :: num_edge_features
       !! Number of edge features
       integer, intent(in) :: num_time_steps
       !! Number of time steps
       integer, intent(in) :: max_vertex_degree
       !! Maximum vertex degree
       integer, intent(in) :: num_outputs
       !! Number of outputs
       integer, optional, intent(in) :: min_vertex_degree
       !! Minimum vertex degree
       class(*), optional, intent(in) :: message_activation, &
            readout_activation
       !! Message and readout activation functions
       character(*), optional, intent(in) :: kernel_initialiser
       !!! Kernel initialiser
       integer, optional, intent(in) :: verbose
       !! Verbosity level
       type(duvenaud_msgpass_layer_type) :: layer
       !! Instance of the message passing layer
     end function layer_setup