exponential_learning_rate_function Derived Type

type, public, extends(learning_rate_function_base) :: exponential_learning_rate_function


Inherits

type~~exponential_learning_rate_function~~InheritsGraph type~exponential_learning_rate_function exponential_learning_rate_function type~learning_rate_function_base learning_rate_function_base type~exponential_learning_rate_function->type~learning_rate_function_base

Type-Bound Procedures

procedure, public :: set_parameters

  • private subroutine set_parameters(learning_rate_fn, lambda0, tau)

    Arguments

    Type IntentOptional Attributes Name
    class(exponential_learning_rate_function) :: learning_rate_fn
    real(kind=wp) :: lambda0
    real(kind=wp) :: tau

procedure, public :: calculate => calculate_exponential_function

  • private function calculate_exponential_function(learning_rate_fn, iteration) result(alpha)

    Arguments

    Type IntentOptional Attributes Name
    class(exponential_learning_rate_function) :: learning_rate_fn

    An learning_rate_function_base object

    real(kind=wp), intent(inout) :: iteration

    A real variable with the current iteration

    Return Value real(kind=wp)

    A real variable with the learning rate

Source Code

    type,extends(learning_rate_function_base) :: exponential_learning_rate_function
        private
            real(kind=wp) :: lambda0,tau
        contains
            procedure,public :: set_parameters
            procedure,public :: calculate => calculate_exponential_function
    end type exponential_learning_rate_function