activation_m Module


Uses

  • module~~activation_m~~UsesGraph module~activation_m activation_m iso_c_binding iso_c_binding module~activation_m->iso_c_binding julienne_m julienne_m module~activation_m->julienne_m

Used by

  • module~~activation_m~~UsedByGraph module~activation_m activation_m module~activation_s activation_s module~activation_s->module~activation_m module~neural_network_m neural_network_m module~neural_network_m->module~activation_m module~training_configuration_m training_configuration_m module~training_configuration_m->module~activation_m module~training_configuration_s training_configuration_s module~training_configuration_s->module~activation_m module~training_configuration_s->module~training_configuration_m module~fiats_m fiats_m module~fiats_m->module~neural_network_m module~fiats_m->module~training_configuration_m module~trainable_network_m trainable_network_m module~fiats_m->module~trainable_network_m module~layer_m layer_m module~layer_m->module~neural_network_m module~neural_network_s neural_network_s module~neural_network_s->module~neural_network_m module~neural_network_s->module~layer_m module~trainable_network_m->module~neural_network_m module~trainable_network_m->module~training_configuration_m module~unmapped_network_s unmapped_network_s module~unmapped_network_s->module~neural_network_m module~workspace_s workspace_s module~workspace_s->module~neural_network_m module~addition_m addition_m module~addition_m->module~fiats_m module~exponentiation_m exponentiation_m module~exponentiation_m->module~fiats_m module~layer_s layer_s module~layer_s->module~layer_m module~multiply_inputs multiply_inputs module~multiply_inputs->module~fiats_m module~power_series power_series module~power_series->module~fiats_m module~saturated_mixing_ratio_m saturated_mixing_ratio_m module~saturated_mixing_ratio_m->module~fiats_m module~trainable_network_s trainable_network_s module~trainable_network_s->module~trainable_network_m program~concurrent_inferences concurrent_inferences program~concurrent_inferences->module~fiats_m program~learn_addition learn_addition program~learn_addition->module~fiats_m program~learn_addition->module~addition_m program~learn_exponentiation learn_exponentiation program~learn_exponentiation->module~fiats_m program~learn_exponentiation->module~exponentiation_m program~learn_multiplication learn_multiplication program~learn_multiplication->module~fiats_m program~learn_multiplication->module~multiply_inputs program~learn_power_series learn_power_series program~learn_power_series->module~fiats_m program~learn_power_series->module~power_series program~print_training_configuration print_training_configuration program~print_training_configuration->module~fiats_m program~read_query_infer read_query_infer program~read_query_infer->module~fiats_m program~train_and_write train_and_write program~train_and_write->module~fiats_m program~train_saturated_mixture_ratio train_saturated_mixture_ratio program~train_saturated_mixture_ratio->module~fiats_m program~train_saturated_mixture_ratio->module~saturated_mixing_ratio_m program~write_read_infer write_read_infer program~write_read_infer->module~fiats_m

Variables

Type Visibility Attributes Name Initial
character(len=*), private, parameter :: activation_name(*) = [character(len("sigmoid"))::"gelu", "relu", "sigmoid", "step", "swish"]

Enumerations

enum, bind(c)

Enumerators

enumerator:: gelu = 1
enumerator:: relu = 2
enumerator:: sigmoid = 3
enumerator:: step = 4
enumerator:: swish = 5

Interfaces

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)

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

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

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

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

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

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)


Derived Types

type, public ::  activation_t

Components

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

Constructor

private elemental, module function construct_from_component (selection)
private elemental, module function construct_from_name (name)

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
generic, public :: operator(==) => equals
procedure, private, non_overridable :: default_real_differentiate
procedure, private, non_overridable :: default_real_evaluate
procedure, private, non_overridable :: double_precision_differentiate
procedure, private, non_overridable :: double_precision_evaluate
procedure, private :: equals