learn_addition Program

Uses

  • program~~learn_addition~~UsesGraph program~learn_addition learn_addition assert_m assert_m program~learn_addition->assert_m julienne_m julienne_m program~learn_addition->julienne_m module~addition_m addition_m program~learn_addition->module~addition_m module~fiats_m fiats_m program~learn_addition->module~fiats_m module~addition_m->assert_m module~addition_m->module~fiats_m module~double_precision_file_m double_precision_file_m module~fiats_m->module~double_precision_file_m module~double_precision_string_m double_precision_string_m module~fiats_m->module~double_precision_string_m module~hyperparameters_m hyperparameters_m module~fiats_m->module~hyperparameters_m module~input_output_pair_m input_output_pair_m module~fiats_m->module~input_output_pair_m module~kind_parameters_m kind_parameters_m module~fiats_m->module~kind_parameters_m module~metadata_m metadata_m module~fiats_m->module~metadata_m module~mini_batch_m mini_batch_m module~fiats_m->module~mini_batch_m module~network_configuration_m network_configuration_m module~fiats_m->module~network_configuration_m module~neural_network_m neural_network_m module~fiats_m->module~neural_network_m module~tensor_m tensor_m module~fiats_m->module~tensor_m module~tensor_map_m tensor_map_m module~fiats_m->module~tensor_map_m module~tensor_names_m tensor_names_m module~fiats_m->module~tensor_names_m module~trainable_network_m trainable_network_m module~fiats_m->module~trainable_network_m module~training_configuration_m training_configuration_m module~fiats_m->module~training_configuration_m module~double_precision_file_m->julienne_m module~double_precision_file_m->module~double_precision_string_m module~double_precision_string_m->julienne_m module~hyperparameters_m->module~double_precision_string_m module~hyperparameters_m->module~kind_parameters_m julienne_string_m julienne_string_m module~hyperparameters_m->julienne_string_m module~input_output_pair_m->module~kind_parameters_m module~input_output_pair_m->module~tensor_m module~metadata_m->module~double_precision_string_m module~metadata_m->julienne_string_m module~mini_batch_m->module~input_output_pair_m module~mini_batch_m->module~kind_parameters_m module~network_configuration_m->module~double_precision_string_m module~network_configuration_m->julienne_string_m module~neural_network_m->julienne_m module~neural_network_m->module~double_precision_file_m module~neural_network_m->module~kind_parameters_m module~neural_network_m->module~metadata_m module~neural_network_m->module~mini_batch_m module~neural_network_m->module~tensor_m module~neural_network_m->module~tensor_map_m module~activation_m activation_m module~neural_network_m->module~activation_m module~tensor_m->module~kind_parameters_m module~tensor_map_m->julienne_m module~tensor_map_m->module~double_precision_string_m module~tensor_map_m->module~kind_parameters_m module~tensor_map_m->module~tensor_m module~tensor_names_m->julienne_string_m module~trainable_network_m->julienne_m module~trainable_network_m->module~input_output_pair_m module~trainable_network_m->module~kind_parameters_m module~trainable_network_m->module~mini_batch_m module~trainable_network_m->module~neural_network_m module~trainable_network_m->module~tensor_map_m module~trainable_network_m->module~training_configuration_m module~training_configuration_m->module~double_precision_file_m module~training_configuration_m->module~hyperparameters_m module~training_configuration_m->module~kind_parameters_m module~training_configuration_m->module~network_configuration_m module~training_configuration_m->module~tensor_names_m julienne_file_m julienne_file_m module~training_configuration_m->julienne_file_m module~training_configuration_m->julienne_string_m module~training_configuration_m->module~activation_m module~activation_m->julienne_m iso_c_binding iso_c_binding module~activation_m->iso_c_binding

This trains a neural network to learn the following six polynomial functions of its eight inputs.


Calls

program~~learn_addition~~CallsGraph program~learn_addition learn_addition assert assert program~learn_addition->assert bin_t bin_t program~learn_addition->bin_t bins bins program~learn_addition->bins cost cost program~learn_addition->cost desired_outputs desired_outputs program~learn_addition->desired_outputs first first program~learn_addition->first flag_value flag_value program~learn_addition->flag_value infer infer program~learn_addition->infer input_output_pairs input_output_pairs program~learn_addition->input_output_pairs inputs inputs program~learn_addition->inputs interface~shuffle shuffle program~learn_addition->interface~shuffle intrinsic_array_t intrinsic_array_t program~learn_addition->intrinsic_array_t last last program~learn_addition->last mini_batches mini_batches program~learn_addition->mini_batches network_outputs network_outputs program~learn_addition->network_outputs num_inputs num_inputs program~learn_addition->num_inputs num_outputs num_outputs program~learn_addition->num_outputs output_sizes output_sizes program~learn_addition->output_sizes proc~output~3 output program~learn_addition->proc~output~3 proc~perturbed_identity_network~3 perturbed_identity_network program~learn_addition->proc~perturbed_identity_network~3 proc~y~4 y program~learn_addition->proc~y~4 random_init random_init program~learn_addition->random_init random_numbers random_numbers program~learn_addition->random_numbers string string program~learn_addition->string string_t string_t program~learn_addition->string_t train train program~learn_addition->train values values program~learn_addition->values none~to_json~6 neural_network_t%to_json proc~output~3->none~to_json~6 write_lines write_lines proc~output~3->write_lines proc~perturbed_identity_network~3->string_t proc~e~3 e proc~perturbed_identity_network~3->proc~e~3 proc~y~4->assert none~values tensor_t%values proc~y~4->none~values interface~default_real_to_json~3 neural_network_t%default_real_to_json none~to_json~6->interface~default_real_to_json~3 interface~double_precision_to_json~3 neural_network_t%double_precision_to_json none~to_json~6->interface~double_precision_to_json~3 interface~default_real_values tensor_t%default_real_values none~values->interface~default_real_values interface~double_precision_values tensor_t%double_precision_values none~values->interface~double_precision_values

Variables

Type Attributes Name Initial
type(command_line_t) :: command_line
type(string_t) :: final_network_file

Functions

pure function e(j, n) result(unit_vector)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: j
integer, intent(in) :: n

Return Value real, allocatable, (:)

function perturbed_identity_network(perturbation_magnitude) result(trainable_network)

Arguments

Type IntentOptional Attributes Name
real, intent(in) :: perturbation_magnitude

Return Value type(trainable_network_t)


Subroutines

subroutine output(neural_network, file_name)

Arguments

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