neural_network_s Submodule


Uses

  • module~~neural_network_s~~UsesGraph module~neural_network_s neural_network_s assert_m assert_m module~neural_network_s->assert_m module~double_precision_string_m double_precision_string_m module~neural_network_s->module~double_precision_string_m module~kind_parameters_m kind_parameters_m module~neural_network_s->module~kind_parameters_m module~layer_m layer_m module~neural_network_s->module~layer_m module~neural_network_m neural_network_m module~neural_network_s->module~neural_network_m module~neuron_m neuron_m module~neural_network_s->module~neuron_m julienne_m julienne_m module~double_precision_string_m->julienne_m module~layer_m->module~double_precision_string_m module~layer_m->module~kind_parameters_m module~layer_m->module~neural_network_m module~layer_m->module~neuron_m julienne_string_m julienne_string_m module~layer_m->julienne_string_m module~metadata_m metadata_m module~layer_m->module~metadata_m module~tensor_map_m tensor_map_m module~layer_m->module~tensor_map_m module~neural_network_m->module~kind_parameters_m module~neural_network_m->julienne_m module~activation_m activation_m module~neural_network_m->module~activation_m module~double_precision_file_m double_precision_file_m module~neural_network_m->module~double_precision_file_m module~neural_network_m->module~metadata_m module~mini_batch_m mini_batch_m module~neural_network_m->module~mini_batch_m module~tensor_m tensor_m module~neural_network_m->module~tensor_m module~neural_network_m->module~tensor_map_m module~neuron_m->module~double_precision_string_m module~neuron_m->module~kind_parameters_m module~neuron_m->julienne_string_m module~activation_m->julienne_m iso_c_binding iso_c_binding module~activation_m->iso_c_binding module~double_precision_file_m->module~double_precision_string_m module~double_precision_file_m->julienne_m module~metadata_m->module~double_precision_string_m module~metadata_m->julienne_string_m module~mini_batch_m->module~kind_parameters_m module~input_output_pair_m input_output_pair_m module~mini_batch_m->module~input_output_pair_m module~tensor_m->module~kind_parameters_m module~tensor_map_m->module~double_precision_string_m module~tensor_map_m->module~kind_parameters_m module~tensor_map_m->julienne_m module~tensor_map_m->module~tensor_m module~input_output_pair_m->module~kind_parameters_m module~input_output_pair_m->module~tensor_m

Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: input_layer = 0
character(len=*), private, parameter :: minimum_acceptable_tag = "0.15.0"

Interfaces

interface assert_conformable

  • elemental module subroutine default_real_assert_conformable_with(self, neural_network)

    Arguments

    Type IntentOptional Attributes Name
    class(neural_network_t), intent(in) :: self
    type(neural_network_t), intent(in) :: neural_network
  • elemental module subroutine double_precision_assert_conformable_with(self, neural_network)

    Arguments

    Type IntentOptional Attributes Name
    class(neural_network_t(double_precision)), intent(in) :: self
    type(neural_network_t(double_precision)), intent(in) :: neural_network

Module Procedures

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_activation_name elemental module function default_real_activation_name(self) result(activation_name)

Arguments

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

Return Value type(string_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_approximately_equal elemental module function default_real_approximately_equal(lhs, rhs) result(lhs_eq_rhs)

Arguments

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

Return Value logical

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_assert_conformable_with elemental module subroutine default_real_assert_conformable_with(self, neural_network)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t), intent(in) :: self
type(neural_network_t), intent(in) :: neural_network

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_consistency pure module subroutine default_real_consistency(self)

Arguments

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

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_construct_from_components module function default_real_construct_from_components(metadata, weights, biases, nodes, input_map, output_map) result(neural_network)

Arguments

Type IntentOptional Attributes Name
type(string_t), intent(in) :: metadata(:)
real, intent(in) :: weights(:,:,:)
real, intent(in) :: biases(:,:)
integer, intent(in) :: nodes(0:)
type(tensor_map_t), intent(in), optional :: input_map
type(tensor_map_t), intent(in), optional :: output_map

Return Value type(neural_network_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_from_json impure elemental module function default_real_from_json(file_) result(neural_network)

Arguments

Type IntentOptional Attributes Name
type(file_t), intent(in) :: file_

Return Value type(neural_network_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_infer elemental module function default_real_infer(self, inputs) result(outputs)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t), intent(in) :: self
type(tensor_t), intent(in) :: inputs

Return Value type(tensor_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_learn pure module subroutine default_real_learn(self, mini_batches_arr, cost, adam, learning_rate, workspace)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t), intent(inout) :: self
type(mini_batch_t), intent(in) :: mini_batches_arr(:)
real, intent(out), optional, allocatable :: cost(:)
logical, intent(in) :: adam
real, intent(in) :: learning_rate
type(workspace_t), intent(inout) :: workspace

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_map_from_output_range elemental module function default_real_map_from_output_range(self, normalized_tensor) result(tensor)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t), intent(in) :: self
type(tensor_t), intent(in) :: normalized_tensor

Return Value type(tensor_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_map_to_input_range elemental module function default_real_map_to_input_range(self, tensor) result(normalized_tensor)

Arguments

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

Return Value type(tensor_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_nodes_per_layer pure module function default_real_nodes_per_layer(self) result(node_count)

Arguments

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

Return Value integer, allocatable, (:)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_num_hidden_layers elemental module function default_real_num_hidden_layers(self) result(hidden_layer_count)

Arguments

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

Return Value integer

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_num_inputs elemental module function default_real_num_inputs(self) result(input_count)

Arguments

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

Return Value integer

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_num_outputs elemental module function default_real_num_outputs(self) result(output_count)

Arguments

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

Return Value integer

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_skip pure module function default_real_skip(self) result(use_skip_connections)

Arguments

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

Return Value logical

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html default_real_to_json impure elemental module function default_real_to_json(self) result(json_file)

Arguments

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

Return Value type(file_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_activation_name elemental module function double_precision_activation_name(self) result(activation_name)

Arguments

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

Return Value type(string_t)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_approximately_equal elemental module function double_precision_approximately_equal(lhs, rhs) result(lhs_eq_rhs)

Arguments

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

Return Value logical

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_assert_conformable_with elemental module subroutine double_precision_assert_conformable_with(self, neural_network)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t(double_precision)), intent(in) :: self
type(neural_network_t(double_precision)), intent(in) :: neural_network

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_consistency pure module subroutine double_precision_consistency(self)

Arguments

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

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_construct_from_components module function double_precision_construct_from_components(metadata, weights, biases, nodes, input_map, output_map) result(neural_network)

Arguments

Type IntentOptional Attributes Name
type(metadata_t), intent(in) :: metadata
double precision, intent(in) :: weights(:,:,:)
double precision, intent(in) :: biases(:,:)
integer, intent(in) :: nodes(0:)
type(tensor_map_t(double_precision)), intent(in), optional :: input_map
type(tensor_map_t(double_precision)), intent(in), optional :: output_map

Return Value type(neural_network_t(double_precision))

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_from_json impure elemental module function double_precision_from_json(file) result(neural_network)

Arguments

Type IntentOptional Attributes Name
type(double_precision_file_t), intent(in) :: file

Return Value type(neural_network_t(double_precision))

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_infer elemental module function double_precision_infer(self, inputs) result(outputs)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t(double_precision)), intent(in) :: self
type(tensor_t(double_precision)), intent(in) :: inputs

Return Value type(tensor_t(double_precision))

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_map_from_output_range elemental module function double_precision_map_from_output_range(self, normalized_tensor) result(tensor)

Arguments

Type IntentOptional Attributes Name
class(neural_network_t(double_precision)), intent(in) :: self
type(tensor_t(double_precision)), intent(in) :: normalized_tensor

Return Value type(tensor_t(double_precision))

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_map_to_input_range elemental module function double_precision_map_to_input_range(self, tensor) result(normalized_tensor)

Arguments

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

Return Value type(tensor_t(double_precision))

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_nodes_per_layer pure module function double_precision_nodes_per_layer(self) result(node_count)

Arguments

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

Return Value integer, allocatable, (:)

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_num_hidden_layers elemental module function double_precision_num_hidden_layers(self) result(hidden_layer_count)

Arguments

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

Return Value integer

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_num_inputs elemental module function double_precision_num_inputs(self) result(input_count)

Arguments

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

Return Value integer

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_num_outputs elemental module function double_precision_num_outputs(self) result(output_count)

Arguments

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

Return Value integer

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_skip pure module function double_precision_skip(self) result(use_skip_connections)

Arguments

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

Return Value logical

module procedure /home/runner/work/fiats/fiats/doc/html/module/neural_network_s.html double_precision_to_json impure elemental module function double_precision_to_json(self) result(json_file)

Arguments

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

Return Value type(file_t)