Set up the Adam optimiser
| Type | Intent | Optional | 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 |
Instance of the Adam optimiser
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