tensor_map_t Derived Type

type, public :: tensor_map_t


Inherited by

type~~tensor_map_t~~InheritedByGraph type~tensor_map_t tensor_map_t type~neural_network_t neural_network_t type~neural_network_t->type~tensor_map_t input_map_, output_map_ 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, 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

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)


Type-Bound Procedures

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

  • 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

procedure, private, non_overridable :: default_real_map_from_training_range

  • 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)

procedure, private, non_overridable :: default_real_map_to_training_range

  • 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)

procedure, private, non_overridable :: default_real_maxima

  • 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, (:)

procedure, private, non_overridable :: default_real_minima

  • 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, (:)

procedure, private :: default_real_to_json

  • 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, (:)

procedure, private :: double_precision_equals

  • 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

procedure, private, non_overridable :: double_precision_map_from_training_range

  • 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))

procedure, private, non_overridable :: double_precision_map_to_training_range

  • 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))

procedure, private, non_overridable :: double_precision_maxima

  • 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, (:)

procedure, private, non_overridable :: double_precision_minima

  • 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, (:)

procedure, private :: double_precision_to_json

  • 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, (:)