learn_multiplication Program

Uses

  • program~~learn_multiplication~~UsesGraph program~learn_multiplication learn_multiplication assert_m assert_m program~learn_multiplication->assert_m module~inference_engine_m inference_engine_m program~learn_multiplication->module~inference_engine_m module~multiply_inputs multiply_inputs program~learn_multiplication->module~multiply_inputs sourcery_m sourcery_m program~learn_multiplication->sourcery_m module~activation_strategy_m activation_strategy_m module~inference_engine_m->module~activation_strategy_m module~differentiable_activation_strategy_m differentiable_activation_strategy_m module~inference_engine_m->module~differentiable_activation_strategy_m module~hyperparameters_m hyperparameters_m module~inference_engine_m->module~hyperparameters_m module~inference_engine_m_ inference_engine_m_ module~inference_engine_m->module~inference_engine_m_ module~input_output_pair_m input_output_pair_m module~inference_engine_m->module~input_output_pair_m module~kind_parameters_m kind_parameters_m module~inference_engine_m->module~kind_parameters_m module~mini_batch_m mini_batch_m module~inference_engine_m->module~mini_batch_m module~network_configuration_m network_configuration_m module~inference_engine_m->module~network_configuration_m module~relu_m relu_m module~inference_engine_m->module~relu_m module~sigmoid_m sigmoid_m module~inference_engine_m->module~sigmoid_m module~step_m step_m module~inference_engine_m->module~step_m module~swish_m swish_m module~inference_engine_m->module~swish_m module~tensor_m tensor_m module~inference_engine_m->module~tensor_m module~tensor_range_m tensor_range_m module~inference_engine_m->module~tensor_range_m module~trainable_engine_m trainable_engine_m module~inference_engine_m->module~trainable_engine_m module~training_configuration_m training_configuration_m module~inference_engine_m->module~training_configuration_m module~ubounds_m ubounds_m module~inference_engine_m->module~ubounds_m module~multiply_inputs->assert_m module~multiply_inputs->module~inference_engine_m module~activation_strategy_m->module~kind_parameters_m sourcery_string_m sourcery_string_m module~activation_strategy_m->sourcery_string_m module~differentiable_activation_strategy_m->module~activation_strategy_m module~hyperparameters_m->module~kind_parameters_m module~hyperparameters_m->sourcery_string_m module~inference_engine_m_->module~activation_strategy_m module~inference_engine_m_->module~differentiable_activation_strategy_m module~inference_engine_m_->module~kind_parameters_m module~inference_engine_m_->module~tensor_m module~inference_engine_m_->module~tensor_range_m sourcery_file_m sourcery_file_m module~inference_engine_m_->sourcery_file_m module~inference_engine_m_->sourcery_string_m module~input_output_pair_m->module~kind_parameters_m module~input_output_pair_m->module~tensor_m module~mini_batch_m->module~input_output_pair_m module~mini_batch_m->module~kind_parameters_m module~network_configuration_m->sourcery_string_m module~relu_m->module~differentiable_activation_strategy_m module~relu_m->module~kind_parameters_m module~relu_m->sourcery_string_m module~sigmoid_m->module~differentiable_activation_strategy_m module~sigmoid_m->module~kind_parameters_m module~sigmoid_m->sourcery_string_m module~step_m->module~activation_strategy_m module~step_m->module~kind_parameters_m module~step_m->sourcery_string_m module~swish_m->module~differentiable_activation_strategy_m module~swish_m->module~kind_parameters_m module~swish_m->sourcery_string_m module~tensor_m->module~kind_parameters_m module~tensor_range_m->sourcery_m module~tensor_range_m->module~tensor_m module~trainable_engine_m->module~differentiable_activation_strategy_m module~trainable_engine_m->module~inference_engine_m_ module~trainable_engine_m->module~kind_parameters_m module~trainable_engine_m->module~mini_batch_m module~trainable_engine_m->module~tensor_m module~trainable_engine_m->module~tensor_range_m module~trainable_engine_m->module~training_configuration_m module~trainable_engine_m->sourcery_string_m module~training_configuration_m->module~differentiable_activation_strategy_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->sourcery_file_m module~training_configuration_m->sourcery_string_m

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 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~4 output program~learn_multiplication->proc~output~4 proc~perturbed_identity_network~4 perturbed_identity_network program~learn_multiplication->proc~perturbed_identity_network~4 proc~y~5 y program~learn_multiplication->proc~y~5 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 to_inference_engine to_inference_engine program~learn_multiplication->to_inference_engine train train program~learn_multiplication->train values values program~learn_multiplication->values interface~to_json~5 inference_engine_t%to_json proc~output~4->interface~to_json~5 write_lines write_lines proc~output~4->write_lines proc~perturbed_identity_network~4->string_t proc~e~4 e proc~perturbed_identity_network~4->proc~e~4 proc~y~5->assert interface~values tensor_t%values proc~y~5->interface~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_engine)

Arguments

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

Return Value type(trainable_engine_t)


Subroutines

subroutine output(inference_engine, file_name)

Arguments

Type IntentOptional Attributes Name
type(inference_engine_t), intent(in) :: inference_engine
type(string_t), intent(in) :: file_name