optimiser_setup_adam Module Function

private module function optimiser_setup_adam(learning_rate, beta1, beta2, epsilon, num_params, regulariser, clip_dict, lr_decay) result(optimiser)

Set up the Adam optimiser

Arguments

Type IntentOptional Attributes Name
real(kind=real32), intent(in), optional :: learning_rate

Learning rate

real(kind=real32), intent(in), optional :: beta1

Beta1, beta2, and epsilon

real(kind=real32), intent(in), optional :: beta2

Beta1, beta2, and epsilon

real(kind=real32), intent(in), optional :: epsilon

Beta1, beta2, and epsilon

integer, intent(in), optional :: num_params

Number of parameters

class(base_regulariser_type), intent(in), optional :: regulariser

Regularisation method

type(clip_type), intent(in), optional :: clip_dict

Clipping dictionary

class(base_lr_decay_type), intent(in), optional :: lr_decay

Learning rate decay method

Return Value type(adam_optimiser_type)

Instance of the Adam optimiser


Source Code

     module function optimiser_setup_adam( &
          learning_rate, &
          beta1, beta2, epsilon, &
          num_params, &
          regulariser, clip_dict, lr_decay) result(optimiser)
       !! Set up the Adam optimiser
       real(real32), optional, intent(in) :: learning_rate
       !! Learning rate
       real(real32), optional, intent(in) :: beta1, beta2, epsilon
       !! Beta1, beta2, and epsilon
       integer, optional, intent(in) :: num_params
       !! Number of parameters
       class(base_regulariser_type), optional, intent(in) :: regulariser
       !! Regularisation method
       type(clip_type), optional, intent(in) :: clip_dict
       !! Clipping dictionary
       class(base_lr_decay_type), optional, intent(in) :: lr_decay
       !! Learning rate decay method
       type(adam_optimiser_type) :: optimiser
       !! Instance of the Adam optimiser
     end function optimiser_setup_adam