tensor_map_m Module


Uses

  • module~~tensor_map_m~~UsesGraph module~tensor_map_m tensor_map_m julienne_m julienne_m module~tensor_map_m->julienne_m module~double_precision_string_m double_precision_string_m module~tensor_map_m->module~double_precision_string_m module~kind_parameters_m kind_parameters_m module~tensor_map_m->module~kind_parameters_m module~tensor_m tensor_m module~tensor_map_m->module~tensor_m module~double_precision_string_m->julienne_m module~tensor_m->module~kind_parameters_m

Used by

  • module~~tensor_map_m~~UsedByGraph module~tensor_map_m tensor_map_m module~fiats_m fiats_m module~fiats_m->module~tensor_map_m module~neural_network_m neural_network_m module~fiats_m->module~neural_network_m module~trainable_network_m trainable_network_m module~fiats_m->module~trainable_network_m module~layer_m layer_m module~layer_m->module~tensor_map_m module~layer_m->module~neural_network_m module~neural_network_m->module~tensor_map_m module~tensor_map_s tensor_map_s module~tensor_map_s->module~tensor_map_m module~trainable_network_m->module~tensor_map_m module~trainable_network_m->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~neural_network_s neural_network_s module~neural_network_s->module~layer_m module~neural_network_s->module~neural_network_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 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 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

Interfaces

public interface tensor_map_t

  • private pure module function construct_default_real(layer, minima, maxima) result(tensor_map)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: layer
    real, intent(in), dimension(:) :: minima
    real, intent(in), dimension(:) :: maxima

    Return Value type(tensor_map_t)

  • private pure module function construct_double_precision(layer, minima, maxima) result(tensor_map)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: layer
    double precision, intent(in), dimension(:) :: minima
    double precision, intent(in), dimension(:) :: maxima

    Return Value type(tensor_map_t(double_precision))

  • private module function double_precision_from_json(lines) result(tensor_map)

    Arguments

    Type IntentOptional Attributes Name
    type(double_precision_string_t), intent(in) :: lines(:)

    Return Value type(tensor_map_t(double_precision))

  • private module function from_json(lines) result(tensor_map)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: lines(:)

    Return Value type(tensor_map_t)

interface

  • private elemental module function default_real_equals(lhs, rhs) result(lhs_equals_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_map_t), intent(in) :: lhs
    class(tensor_map_t), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function default_real_map_from_training_range(self, tensor) result(unnormalized_tensor)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_map_t), intent(in) :: self
    type(tensor_t), intent(in) :: tensor

    Return Value type(tensor_t)

interface

  • private elemental module function default_real_map_to_training_range(self, tensor) result(normalized_tensor)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_map_t), intent(in) :: self
    type(tensor_t), intent(in) :: tensor

    Return Value type(tensor_t)

interface

  • private pure module function default_real_maxima(self) result(maxima)

    Arguments

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

    Return Value real, allocatable, (:)

interface

  • private pure module function default_real_minima(self) result(minima)

    Arguments

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

    Return Value real, allocatable, (:)

interface

  • private pure module function default_real_to_json(self) result(lines)

    Arguments

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

    Return Value type(string_t), allocatable, (:)

interface

  • private elemental module function double_precision_equals(lhs, rhs) result(lhs_equals_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_map_t(double_precision)), intent(in) :: lhs
    class(tensor_map_t(double_precision)), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function double_precision_map_from_training_range(self, tensor) result(unnormalized_tensor)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_map_t(double_precision)), intent(in) :: self
    type(tensor_t(double_precision)), intent(in) :: tensor

    Return Value type(tensor_t(double_precision))

interface

  • private elemental module function double_precision_map_to_training_range(self, tensor) result(normalized_tensor)

    Arguments

    Type IntentOptional Attributes Name
    class(tensor_map_t(double_precision)), intent(in) :: self
    type(tensor_t(double_precision)), intent(in) :: tensor

    Return Value type(tensor_t(double_precision))

interface

  • private pure module function double_precision_maxima(self) result(maxima)

    Arguments

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

    Return Value double precision, allocatable, (:)

interface

  • private pure module function double_precision_minima(self) result(minima)

    Arguments

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

    Return Value double precision, allocatable, (:)

interface

  • private pure module function double_precision_to_json(self) result(lines)

    Arguments

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

    Return Value type(string_t), allocatable, (:)


Derived Types

type, public ::  tensor_map_t

Components

Type Visibility Attributes Name Initial
integer, public, kind :: k = default_real
real(kind=k), private, dimension(:), allocatable :: intercept_
character(len=:), private, allocatable :: layer_
real(kind=k), private, dimension(:), allocatable :: slope_

Constructor

private pure, module function construct_default_real (layer, minima, maxima)
private pure, module function construct_double_precision (layer, minima, maxima)
private module function double_precision_from_json (lines)
private module function from_json (lines)

Type-Bound Procedures

generic, public :: map_from_training_range => default_real_map_from_training_range, double_precision_map_from_training_range
generic, public :: map_to_training_range => default_real_map_to_training_range, double_precision_map_to_training_range
generic, public :: maxima => default_real_maxima, double_precision_maxima
generic, public :: minima => default_real_minima, double_precision_minima
generic, public :: operator(==) => default_real_equals, double_precision_equals
generic, public :: to_json => default_real_to_json, double_precision_to_json
procedure, private :: default_real_equals
procedure, private, non_overridable :: default_real_map_from_training_range
procedure, private, non_overridable :: default_real_map_to_training_range
procedure, private, non_overridable :: default_real_maxima
procedure, private, non_overridable :: default_real_minima
procedure, private :: default_real_to_json
procedure, private :: double_precision_equals
procedure, private, non_overridable :: double_precision_map_from_training_range
procedure, private, non_overridable :: double_precision_map_to_training_range
procedure, private, non_overridable :: double_precision_maxima
procedure, private, non_overridable :: double_precision_minima
procedure, private :: double_precision_to_json