print_to_unit_gno Subroutine

private subroutine print_to_unit_gno(this, unit)

Uses

    • coreutils

Print graph neural operator settings and parameters to a unit

Type Bound

graph_nop_layer_type

Arguments

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

Layer instance to print

integer, intent(in) :: unit

Output unit number


Source Code

  subroutine print_to_unit_gno(this, unit)
    !! Print graph neural operator settings and parameters to a unit
    use coreutils, only: to_upper
    implicit none

    ! Arguments
    class(graph_nop_layer_type), intent(in) :: this
    !! Layer instance to print
    integer, intent(in) :: unit
    !! Output unit number

    ! Local variables
    integer :: p
    !! Parameter block index

    write(unit,'(3X,"NUM_INPUTS = ",I0)') this%num_vertex_features(0)
    write(unit,'(3X,"NUM_OUTPUTS = ",I0)') this%num_outputs
    write(unit,'(3X,"COORD_DIM = ",I0)') this%coord_dim
    write(unit,'(3X,"KERNEL_HIDDEN = ",I0)') this%kernel_hidden
    write(unit,'(3X,"USE_BIAS = ",L1)') this%use_bias
    if(this%activation%name .ne. 'none')then
       call this%activation%print_to_unit(unit)
    end if

    write(unit,'("WEIGHTS")')
    do p = 1, size(this%params)
       write(unit,'(5(E16.8E2))') this%params(p)%val(:,1)
    end do
    write(unit,'("END WEIGHTS")')

  end subroutine print_to_unit_gno