train_saturated_mixture_ratio Program

Uses

  • program~~train_saturated_mixture_ratio~~UsesGraph program~train_saturated_mixture_ratio train_saturated_mixture_ratio assert_m assert_m program~train_saturated_mixture_ratio->assert_m iso_fortran_env iso_fortran_env program~train_saturated_mixture_ratio->iso_fortran_env julienne_m julienne_m program~train_saturated_mixture_ratio->julienne_m module~fiats_m fiats_m program~train_saturated_mixture_ratio->module~fiats_m module~saturated_mixing_ratio_m saturated_mixing_ratio_m program~train_saturated_mixture_ratio->module~saturated_mixing_ratio_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~saturated_mixing_ratio_m->assert_m module~saturated_mixing_ratio_m->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 program trains a neural network to learn the saturated mixing ratio function of ICAR.


Calls

program~~train_saturated_mixture_ratio~~CallsGraph program~train_saturated_mixture_ratio train_saturated_mixture_ratio assert assert program~train_saturated_mixture_ratio->assert bin_t bin_t program~train_saturated_mixture_ratio->bin_t bins bins program~train_saturated_mixture_ratio->bins cost cost program~train_saturated_mixture_ratio->cost desired_outputs desired_outputs program~train_saturated_mixture_ratio->desired_outputs file_t file_t program~train_saturated_mixture_ratio->file_t first first program~train_saturated_mixture_ratio->first flag_value flag_value program~train_saturated_mixture_ratio->flag_value infer infer program~train_saturated_mixture_ratio->infer input_output_pairs input_output_pairs program~train_saturated_mixture_ratio->input_output_pairs inputs inputs program~train_saturated_mixture_ratio->inputs interface~shuffle shuffle program~train_saturated_mixture_ratio->interface~shuffle intrinsic_array_t intrinsic_array_t program~train_saturated_mixture_ratio->intrinsic_array_t last last program~train_saturated_mixture_ratio->last mini_batches mini_batches program~train_saturated_mixture_ratio->mini_batches network_outputs network_outputs program~train_saturated_mixture_ratio->network_outputs nodes_per_layer nodes_per_layer program~train_saturated_mixture_ratio->nodes_per_layer num_inputs num_inputs program~train_saturated_mixture_ratio->num_inputs num_outputs num_outputs program~train_saturated_mixture_ratio->num_outputs output_sizes output_sizes program~train_saturated_mixture_ratio->output_sizes proc~open_plot_file_for_appending open_plot_file_for_appending program~train_saturated_mixture_ratio->proc~open_plot_file_for_appending proc~output~2 output program~train_saturated_mixture_ratio->proc~output~2 proc~perturbed_identity_network~2 perturbed_identity_network program~train_saturated_mixture_ratio->proc~perturbed_identity_network~2 proc~print_diagnostics print_diagnostics program~train_saturated_mixture_ratio->proc~print_diagnostics proc~y~3 y program~train_saturated_mixture_ratio->proc~y~3 random_init random_init program~train_saturated_mixture_ratio->random_init random_numbers random_numbers program~train_saturated_mixture_ratio->random_numbers string string program~train_saturated_mixture_ratio->string string_t string_t program~train_saturated_mixture_ratio->string_t train train program~train_saturated_mixture_ratio->train values values program~train_saturated_mixture_ratio->values proc~open_plot_file_for_appending->file_t proc~open_plot_file_for_appending->string proc~open_plot_file_for_appending->string_t lines lines proc~open_plot_file_for_appending->lines none~to_json~8 neural_network_t%to_json proc~output~2->none~to_json~8 write_lines write_lines proc~output~2->write_lines proc~perturbed_identity_network~2->string_t proc~e~2 e proc~perturbed_identity_network~2->proc~e~2 proc~y~3->assert none~values tensor_t%values proc~y~3->none~values proc~saturated_mixing_ratio saturated_mixing_ratio proc~y~3->proc~saturated_mixing_ratio 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
integer(kind=int64) :: clock_rate
type(command_line_t) :: command_line
integer(kind=int64) :: counter_end
integer(kind=int64) :: counter_start
type(string_t) :: 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, n) result(trainable_network)

Arguments

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

Return Value type(trainable_network_t)


Subroutines

subroutine open_plot_file_for_appending(plot_file_name, plot_unit, previous_epoch, previous_clock)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: plot_file_name
integer, intent(out) :: plot_unit
integer, intent(out) :: previous_epoch
real, intent(out) :: previous_clock

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

subroutine print_diagnostics(plot_file_unit, epoch, cost, clock, nodes)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: plot_file_unit
integer, intent(in) :: epoch
real, intent(in) :: cost
real, intent(in) :: clock
integer, intent(in) :: nodes(:)