learn_multiplication Program

Uses

  • program~~learn_multiplication~~UsesGraph program~learn_multiplication learn_multiplication assert_m assert_m program~learn_multiplication->assert_m julienne_m julienne_m program~learn_multiplication->julienne_m module~fiats_m fiats_m program~learn_multiplication->module~fiats_m module~multiply_inputs multiply_inputs program~learn_multiplication->module~multiply_inputs 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~multiply_inputs->assert_m module~multiply_inputs->module~fiats_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_multiplication~~CallsGraph program~learn_multiplication learn_multiplication assert assert program~learn_multiplication->assert bin_t bin_t program~learn_multiplication->bin_t bins bins program~learn_multiplication->bins cost cost program~learn_multiplication->cost desired_outputs desired_outputs program~learn_multiplication->desired_outputs first first program~learn_multiplication->first flag_value flag_value program~learn_multiplication->flag_value infer infer program~learn_multiplication->infer input_output_pairs input_output_pairs program~learn_multiplication->input_output_pairs inputs inputs program~learn_multiplication->inputs interface~shuffle shuffle program~learn_multiplication->interface~shuffle intrinsic_array_t intrinsic_array_t program~learn_multiplication->intrinsic_array_t last last program~learn_multiplication->last mini_batches mini_batches program~learn_multiplication->mini_batches network_outputs network_outputs program~learn_multiplication->network_outputs num_inputs num_inputs program~learn_multiplication->num_inputs num_outputs num_outputs program~learn_multiplication->num_outputs output_sizes output_sizes program~learn_multiplication->output_sizes proc~output~3 output program~learn_multiplication->proc~output~3 proc~perturbed_identity_network~3 perturbed_identity_network program~learn_multiplication->proc~perturbed_identity_network~3 proc~y~2 y program~learn_multiplication->proc~y~2 random_init random_init program~learn_multiplication->random_init random_numbers random_numbers program~learn_multiplication->random_numbers string string program~learn_multiplication->string string_t string_t program~learn_multiplication->string_t train train program~learn_multiplication->train values values program~learn_multiplication->values none~to_json~8 neural_network_t%to_json proc~output~3->none~to_json~8 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~2->assert none~values tensor_t%values proc~y~2->none~values interface~default_real_to_json~5 neural_network_t%default_real_to_json none~to_json~8->interface~default_real_to_json~5 interface~double_precision_to_json~5 neural_network_t%double_precision_to_json none~to_json~8->interface~double_precision_to_json~5 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