athena__msgpass_layer_submodule Submodule

Submodule containing implementations for a message passing layer


Uses


Module Functions

pure module function get_num_params_msgpass(this) result(num_params)

Get the number of learnable parameters in the layer

Arguments

Type IntentOptional Attributes Name
class(msgpass_layer_type), intent(in) :: this

Instance of the layer type

Return Value integer

Number of learnable parameters

module function layer_setup(num_features, num_time_steps, verbose) result(layer)

Procedure to set up the layer

Arguments

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

Number of features

integer, intent(in) :: num_time_steps

Number of time steps

integer, intent(in), optional :: verbose

Verbosity level

Return Value class(msgpass_layer_type), allocatable

Instance of the layer type


Module Subroutines

module subroutine forward_msgpass(this, input)

Forward propagation for the layer

Arguments

Type IntentOptional Attributes Name
class(msgpass_layer_type), intent(inout) :: this

Instance of the layer type

class(array_type), intent(in), dimension(:,:) :: input

Input data (i.e. vertex and edge features)

module subroutine init_msgpass(this, input_shape, verbose)

Initialise the layer

Arguments

Type IntentOptional Attributes Name
class(msgpass_layer_type), intent(inout) :: this

Instance of the layer type

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

Input shape

integer, intent(in), optional :: verbose

Verbosity level

module subroutine set_graph_msgpass(this, graph)

Set the graph structure of the input data

Arguments

Type IntentOptional Attributes Name
class(msgpass_layer_type), intent(inout) :: this

Instance of the layer

type(graph_type), intent(in), dimension(:) :: graph

Graph structure of input data