lr_decay_exp Function

private pure function lr_decay_exp(this, learning_rate, iteration) result(output)

Get the learning rate for the exponential decay type

Type Bound

exp_lr_decay_type

Arguments

Type IntentOptional Attributes Name
class(exp_lr_decay_type), intent(in) :: this

Instance of the exponential learning rate decay type

real(kind=real32), intent(in) :: learning_rate

Initial learning rate

integer, intent(in) :: iteration

Iteration number

Return Value real(kind=real32)

Learning rate


Source Code

  pure function lr_decay_exp(this, learning_rate, iteration) result(output)
    !! Get the learning rate for the exponential decay type
    implicit none

    ! Arguments
    class(exp_lr_decay_type), intent(in) :: this
    !! Instance of the exponential learning rate decay type
    real(real32), intent(in) :: learning_rate
    !! Initial learning rate
    integer, intent(in) :: iteration
    !! Iteration number
    real(real32) :: output
    !! Learning rate

    output = learning_rate * exp(- iteration * this%decay_rate)

  end function lr_decay_exp