init_gradients_adagrad Subroutine

private pure subroutine init_gradients_adagrad(this, num_params)

Initialise gradients for Adagrad optimiser

Type Bound

adagrad_optimiser_type

Arguments

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

Instance of the Adagrad optimiser

integer, intent(in) :: num_params

Number of parameters


Source Code

  pure subroutine init_gradients_adagrad(this, num_params)
    !! Initialise gradients for Adagrad optimiser
    implicit none

    ! Arguments
    class(adagrad_optimiser_type), intent(inout) :: this
    !! Instance of the Adagrad optimiser
    integer, intent(in) :: num_params
    !! Number of parameters


    ! Initialise gradients
    if(allocated(this%sum_squares)) deallocate(this%sum_squares)
    allocate(this%sum_squares(num_params), source=0._real32)
  end subroutine init_gradients_adagrad