athena__initialiser_ident Module

Module containing the implementation of the identity initialiser

This module contains the implementation of the identity initialiser for the weights and biases of a layer


Uses


Interfaces

public interface ident_init_type

  • private module function initialiser_ident_setup() result(initialiser)

    Interface for the Identity initialiser

    Arguments

    None

    Return Value type(ident_init_type)

    Identity initialiser object


Derived Types

type, public, extends(base_init_type) ::  ident_init_type

Type for the identity initialiser

Components

Type Visibility Attributes Name Initial
real(kind=real32), public :: mean = 1._real32

Scale, mean, and standard deviation of the initialiser

character(len=20), public :: name

Name of the initialiser

real(kind=real32), public :: scale = 1._real32

Scale, mean, and standard deviation of the initialiser

real(kind=real32), public :: std = 0.01_real32

Scale, mean, and standard deviation of the initialiser

Constructor

private module function initialiser_ident_setup ()

Interface for the Identity initialiser

Type-Bound Procedures

procedure, public, pass(this) :: initialise => ident_initialise

Initialise the weights and biases using the identity matrix


Functions

private module function initialiser_ident_setup() result(initialiser)

Interface for the Identity initialiser

Arguments

None

Return Value type(ident_init_type)

Identity initialiser object


Subroutines

private subroutine ident_initialise(this, input, fan_in, fan_out, spacing)

Initialise the weights and biases using the identity matrix

Arguments

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

Instance of the identity initialiser

real(kind=real32), intent(out), dimension(..) :: input

Weights and biases to initialise

integer, intent(in), optional :: fan_in

Number of input and output parameters

integer, intent(in), optional :: fan_out

Number of input and output parameters

integer, intent(in), optional, dimension(:) :: spacing

Spacing of the input and output units