activation_t Derived Type

type, public :: activation_t


Inherited by

type~~activation_t~~InheritedByGraph type~activation_t activation_t type~neural_network_t neural_network_t type~neural_network_t->type~activation_t activation_ type~trainable_network_t trainable_network_t type~trainable_network_t->type~neural_network_t type~unmapped_network_t unmapped_network_t type~unmapped_network_t->type~neural_network_t neural_network_

Components

Type Visibility Attributes Name Initial
integer(kind=c_int), private :: selection_ = sigmoid

Constructor

public interface activation_t

  • private elemental module function construct_from_component(selection) result(activation)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=c_int), intent(in) :: selection

    Return Value type(activation_t)

  • private elemental module function construct_from_name(name) result(activation)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: name

    Return Value type(activation_t)


Type-Bound Procedures

generic, public :: differentiate => default_real_differentiate, double_precision_differentiate

generic, public :: evaluate => default_real_evaluate, double_precision_evaluate

procedure, public, non_overridable :: function_name

  • interface

    private elemental module function function_name(self) result(string)

    Arguments

    Type IntentOptional Attributes Name
    class(activation_t), intent(in) :: self

    Return Value type(string_t)

generic, public :: operator(==) => equals

  • private interface equals()

    Arguments

    None

procedure, private, non_overridable :: default_real_differentiate

  • interface

    private elemental module function default_real_differentiate(self, x) result(dy_dx)

    Arguments

    Type IntentOptional Attributes Name
    class(activation_t), intent(in) :: self
    real, intent(in) :: x

    Return Value real

procedure, private, non_overridable :: default_real_evaluate

  • interface

    private elemental module function default_real_evaluate(self, x) result(y)

    Arguments

    Type IntentOptional Attributes Name
    class(activation_t), intent(in) :: self
    real, intent(in) :: x

    Return Value real

procedure, private, non_overridable :: double_precision_differentiate

  • interface

    private elemental module function double_precision_differentiate(self, x) result(dy_dx)

    Arguments

    Type IntentOptional Attributes Name
    class(activation_t), intent(in) :: self
    double precision, intent(in) :: x

    Return Value double precision

procedure, private, non_overridable :: double_precision_evaluate

  • interface

    private elemental module function double_precision_evaluate(self, x) result(y)

    Arguments

    Type IntentOptional Attributes Name
    class(activation_t), intent(in) :: self
    double precision, intent(in) :: x

    Return Value double precision

procedure, private :: equals

  • interface

    private elemental module function equals(self, rhs) result(self_eq_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(activation_t), intent(in) :: self
    type(activation_t), intent(in) :: rhs

    Return Value logical