training_configuration_t Derived Type

type, public, extends(double_precision_file_t) :: training_configuration_t


Inherits

type~~training_configuration_t~~InheritsGraph type~training_configuration_t training_configuration_t type~double_precision_file_t double_precision_file_t type~training_configuration_t->type~double_precision_file_t type~hyperparameters_t hyperparameters_t type~training_configuration_t->type~hyperparameters_t hyperparameters_ type~network_configuration_t network_configuration_t type~training_configuration_t->type~network_configuration_t network_configuration_ type~tensor_names_t tensor_names_t type~training_configuration_t->type~tensor_names_t tensor_names_ file_t file_t type~double_precision_file_t->file_t string_t string_t type~tensor_names_t->string_t inputs_, outputs_

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

public interface training_configuration_t


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

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

procedure, private :: default_real_learning_rate

  • 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

procedure, private :: default_real_mini_batches

  • 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

procedure, private :: default_real_nodes_per_layer

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

procedure, private :: default_real_optimizer_name

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

procedure, private :: default_real_output_names

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

procedure, private :: default_real_skip_connections

  • 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

procedure, private :: default_real_to_json

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

procedure, private :: double_precision_activation

procedure, private :: double_precision_equals

procedure, private :: double_precision_input_names

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

procedure, private :: double_precision_learning_rate

  • 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

procedure, private :: double_precision_mini_batches

  • 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

procedure, private :: double_precision_nodes_per_layer

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

procedure, private :: double_precision_optimizer_name

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

procedure, private :: double_precision_output_names

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

procedure, private :: double_precision_skip_connections

  • 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

procedure, private :: double_precision_to_json

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