dw_init Subroutine

public pure subroutine dw_init(dw, dims)

Initialises weights structure.

Arguments

Type IntentOptional AttributesName
type(array2d), intent(inout), allocatable:: dw(:)
integer(kind=ik), intent(in) :: dims(:)

Calls

proc~~dw_init~~CallsGraph proc~dw_init dw_init interface~array2d array2d proc~dw_init->interface~array2d proc~array2d_constructor array2d_constructor interface~array2d->proc~array2d_constructor

Called by

proc~~dw_init~~CalledByGraph proc~dw_init dw_init proc~backprop backprop proc~backprop->proc~dw_init proc~train_batch train_batch proc~train_batch->proc~dw_init

Contents

Source Code


Source Code

  pure subroutine dw_init(dw, dims)
    !! Initialises weights structure.
    type(array2d), allocatable, intent(in out) :: dw(:)
    integer(ik), intent(in) :: dims(:)
    integer(ik) :: n, nm
    nm = size(dims)
    allocate(dw(nm))
    do n = 1, nm - 1
      dw(n) = array2d(dims(n:n+1))
    end do
    dw(n) = array2d([dims(n), 1])
  end subroutine dw_init