emit_onnx_graph_inputs_duvenaud Subroutine

private subroutine emit_onnx_graph_inputs_duvenaud(this, prefix, graph_inputs, num_inputs)

Emit graph input tensor declarations for Duvenaud GNN layer

Adds: vertex features, edge features, edge_index [3, ncsr], degree

Type Bound

duvenaud_msgpass_layer_type

Arguments

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

Instance of the layer

character(len=*), intent(in) :: prefix

Input name prefix (e.g. "input_1")

type(onnx_tensor_type), intent(inout), dimension(:) :: graph_inputs

Accumulator for graph input tensor declarations

integer, intent(inout) :: num_inputs

Current number of graph input declarations


Source Code

  subroutine emit_onnx_graph_inputs_duvenaud( &
       this, prefix, &
       graph_inputs, num_inputs &
  )
    !! Emit graph input tensor declarations for Duvenaud GNN layer
    !!
    !! Adds: vertex features, edge features, edge_index [3, ncsr], degree
    use athena__onnx_msgpass_utils, only: emit_msgpass_graph_inputs
    implicit none

    ! Arguments
    class(duvenaud_msgpass_layer_type), intent(in) :: this
    !! Instance of the layer
    character(*), intent(in) :: prefix
    !! Input name prefix (e.g. "input_1")
    type(onnx_tensor_type), intent(inout), dimension(:) :: graph_inputs
    !! Accumulator for graph input tensor declarations
    integer, intent(inout) :: num_inputs
    !! Current number of graph input declarations

    call emit_msgpass_graph_inputs( &
         prefix, this%input_shape, graph_inputs, num_inputs)

  end subroutine emit_onnx_graph_inputs_duvenaud