training_configuration_m Module


Uses

  • module~~training_configuration_m~~UsesGraph module~training_configuration_m training_configuration_m julienne_file_m julienne_file_m module~training_configuration_m->julienne_file_m julienne_string_m julienne_string_m module~training_configuration_m->julienne_string_m module~activation_m activation_m module~training_configuration_m->module~activation_m module~double_precision_file_m double_precision_file_m module~training_configuration_m->module~double_precision_file_m module~hyperparameters_m hyperparameters_m module~training_configuration_m->module~hyperparameters_m module~kind_parameters_m kind_parameters_m module~training_configuration_m->module~kind_parameters_m module~network_configuration_m network_configuration_m module~training_configuration_m->module~network_configuration_m module~tensor_names_m tensor_names_m module~training_configuration_m->module~tensor_names_m iso_c_binding iso_c_binding module~activation_m->iso_c_binding julienne_m julienne_m module~activation_m->julienne_m module~double_precision_file_m->julienne_m module~double_precision_string_m double_precision_string_m module~double_precision_file_m->module~double_precision_string_m module~hyperparameters_m->julienne_string_m module~hyperparameters_m->module~kind_parameters_m module~hyperparameters_m->module~double_precision_string_m module~network_configuration_m->julienne_string_m module~network_configuration_m->module~double_precision_string_m module~tensor_names_m->julienne_string_m module~double_precision_string_m->julienne_m

Used by

  • module~~training_configuration_m~~UsedByGraph module~training_configuration_m training_configuration_m module~fiats_m fiats_m module~fiats_m->module~training_configuration_m module~trainable_network_m trainable_network_m module~fiats_m->module~trainable_network_m module~trainable_network_m->module~training_configuration_m module~training_configuration_s training_configuration_s module~training_configuration_s->module~training_configuration_m module~addition_m addition_m module~addition_m->module~fiats_m module~exponentiation_m exponentiation_m module~exponentiation_m->module~fiats_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

Interfaces

public interface training_configuration_t

interface

interface

interface

  • private pure module function default_real_input_names(self) result(input_names)

    Arguments

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

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

interface

  • private elemental module function default_real_learning_rate(self) result(rate)

    Arguments

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

    Return Value real

interface

  • private elemental module function default_real_mini_batches(self) result(num_mini_batches)

    Arguments

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

    Return Value integer

interface

  • private pure module function default_real_nodes_per_layer(self) result(nodes)

    Arguments

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

    Return Value integer, allocatable, (:)

interface

  • private elemental module function default_real_optimizer_name(self) result(identifier)

    Arguments

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

    Return Value type(string_t)

interface

  • private pure module function default_real_output_names(self) result(output_names)

    Arguments

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

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

interface

  • private elemental module function default_real_skip_connections(self) result(using_skip)

    Arguments

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

    Return Value logical

interface

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

    Arguments

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

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

interface

interface

interface

  • private pure module function double_precision_input_names(self) result(input_names)

    Arguments

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

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

interface

  • private elemental module function double_precision_learning_rate(self) result(rate)

    Arguments

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

    Return Value double precision

interface

  • private elemental module function double_precision_mini_batches(self) result(num_mini_batches)

    Arguments

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

    Return Value integer

interface

  • private pure module function double_precision_nodes_per_layer(self) result(nodes)

    Arguments

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

    Return Value integer, allocatable, (:)

interface

  • private elemental module function double_precision_optimizer_name(self) result(identifier)

    Arguments

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

    Return Value type(string_t)

interface

  • private pure module function double_precision_output_names(self) result(output_names)

    Arguments

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

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

interface

  • private elemental module function double_precision_skip_connections(self) result(using_skip)

    Arguments

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

    Return Value logical

interface

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

    Arguments

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

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


Derived Types

type, public, extends(double_precision_file_t) ::  training_configuration_t

Components

Type Visibility Attributes Name Initial
integer, public, kind :: m = default_real
type(hyperparameters_t(m)), private :: hyperparameters_
type(network_configuration_t), private :: network_configuration_
type(tensor_names_t), private :: tensor_names_

Constructor

private module function default_real_from_components (hyperparameters, network_configuration, tensor_names)
private module function default_real_from_file (file_object)
private module function double_precision_from_components (hyperparameters, network_configuration, tensor_names)
private module function double_precision_from_file (file_object)

Type-Bound Procedures

generic, public :: activation => default_real_activation, double_precision_activation
procedure, public :: double_precision_lines
generic, public :: input_names => default_real_input_names, double_precision_input_names
generic, public :: learning_rate => default_real_learning_rate, double_precision_learning_rate
generic, public :: mini_batches => default_real_mini_batches, double_precision_mini_batches
generic, public :: nodes_per_layer => default_real_nodes_per_layer, double_precision_nodes_per_layer
generic, public :: operator(==) => default_real_equals, double_precision_equals
generic, public :: optimizer_name => default_real_optimizer_name, double_precision_optimizer_name
generic, public :: output_names => default_real_output_names, double_precision_output_names
generic, public :: skip_connections => default_real_skip_connections, double_precision_skip_connections
generic, public :: to_json => default_real_to_json, double_precision_to_json
procedure, private :: default_real_activation
procedure, private :: default_real_equals
procedure, private :: default_real_input_names
procedure, private :: default_real_learning_rate
procedure, private :: default_real_mini_batches
procedure, private :: default_real_nodes_per_layer
procedure, private :: default_real_optimizer_name
procedure, private :: default_real_output_names
procedure, private :: default_real_skip_connections
procedure, private :: default_real_to_json
procedure, private :: double_precision_activation
procedure, private :: double_precision_equals
procedure, private :: double_precision_input_names
procedure, private :: double_precision_learning_rate
procedure, private :: double_precision_mini_batches
procedure, private :: double_precision_nodes_per_layer
procedure, private :: double_precision_optimizer_name
procedure, private :: double_precision_output_names
procedure, private :: double_precision_skip_connections
procedure, private :: double_precision_to_json