Modules

ModuleSource FileDescription
activation_strategy_m activation_strategy_m.f90
addition_m learn-addition.F90

Define a function that produces the desired network output for a given network input

differentiable_activation_strategy_m differentiable_activation_strategy_m.f90
exponentiation_m learn-exponentiation.F90

Define a function that produces the desired network output for a given network input

hyperparameters_m hyperparameters_m.f90
   hyperparameters_s hyperparameters_s.f90
inference_engine_m inference_engine_m.f90

Specify the user-facing modules, derived types, and type parameters

inference_engine_m_ inference_engine_m_.f90

Define an abstraction that supports inference operationsn on a neural network

   inference_engine_s inference_engine_s.F90
input_output_pair_m input_output_pair_m.f90
   input_output_pair_s input_output_pair_s.f90
kind_parameters_m kind_parameters_m.f90
layer_m layer_m.f90
   layer_s layer_s.f90
mini_batch_m mini_batch_m.f90
   mini_batch_s mini_batch_s.f90
module_mp_thompson mp_thompson.f90
multiply_inputs learn-multiplication.F90

Define a function that produces the desired network output for a given network input

network_configuration_m network_configuration_m.f90
   network_configuration_s network_configuration_s.F90
neuron_m neuron_m.f90
   neuron_s neuron_s.f90
power_series learn-power-series.F90

Define a function that produces the desired network output for a given network input

relu_m relu_m.f90
   relu_s relu_s.f90
saturated_mixing_ratio_m saturated_mixing_ratio_m.f90

This module supports the program in the file example/learn-saturated-mixing-ratio.f90. The saturated_mixing_ratio function in this module resulted from refactoring the sat_mr function in the Intermediate Complexity Atmospheric Research (ICAR) model file src/physics/mp_simple.f90. ICAR is distributed under the above MIT license. See https://github.com/ncar/icar.

sigmoid_m sigmoid_m.f90
   sigmoid_s sigmoid_s.f90
step_m step_m.f90
   step_s step_s.f90
swish_m swish_m.f90
   swish_s swish_s.f90
tensor_m tensor_m.f90
   tensor_s tensor_s.f90
tensor_range_m tensor_range_m.f90
   tensor_range_s tensor_range_s.f90
thompson_tensors_m thompson_tensors_m.f90

This module supports the program in the file example/learn-microphysics-procedures.f90.

trainable_engine_m trainable_engine_m.F90

Define an abstraction that supports training a neural network

   trainable_engine_s trainable_engine_s.F90
training_configuration_m training_configuration_m.f90
   training_configuration_s training_configuration_s.F90
ubounds_m ubounds_m.f90

This module serves only to support array bounds checking in the main program below

module~~graph~~ModuleGraph module~activation_strategy_m activation_strategy_m module~kind_parameters_m kind_parameters_m module~activation_strategy_m->module~kind_parameters_m sourcery_string_m sourcery_string_m module~activation_strategy_m->sourcery_string_m module~addition_m addition_m module~inference_engine_m inference_engine_m module~addition_m->module~inference_engine_m assert_m assert_m module~addition_m->assert_m module~differentiable_activation_strategy_m differentiable_activation_strategy_m module~differentiable_activation_strategy_m->module~activation_strategy_m module~exponentiation_m exponentiation_m module~exponentiation_m->module~inference_engine_m module~exponentiation_m->assert_m module~hyperparameters_m hyperparameters_m module~hyperparameters_m->module~kind_parameters_m module~hyperparameters_m->sourcery_string_m module~hyperparameters_s hyperparameters_s module~hyperparameters_s->module~hyperparameters_m module~hyperparameters_s->assert_m module~inference_engine_m->module~activation_strategy_m module~inference_engine_m->module~differentiable_activation_strategy_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~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~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~inference_engine_s inference_engine_s module~inference_engine_s->module~inference_engine_m_ module~layer_m layer_m module~inference_engine_s->module~layer_m module~neuron_m neuron_m module~inference_engine_s->module~neuron_m module~inference_engine_s->module~relu_m module~inference_engine_s->module~sigmoid_m module~inference_engine_s->module~step_m module~inference_engine_s->module~swish_m module~inference_engine_s->assert_m sourcery_formats_m sourcery_formats_m module~inference_engine_s->sourcery_formats_m module~input_output_pair_m->module~kind_parameters_m module~input_output_pair_m->module~tensor_m module~input_output_pair_s input_output_pair_s module~input_output_pair_s->module~input_output_pair_m module~input_output_pair_s->assert_m module~layer_m->module~inference_engine_m_ module~layer_m->module~kind_parameters_m module~layer_m->module~neuron_m module~layer_m->module~tensor_range_m module~layer_m->sourcery_string_m module~layer_s layer_s module~layer_s->module~layer_m module~layer_s->assert_m intrinsic_array_m intrinsic_array_m module~layer_s->intrinsic_array_m module~mini_batch_m->module~input_output_pair_m module~mini_batch_m->module~kind_parameters_m module~mini_batch_s mini_batch_s module~mini_batch_s->module~mini_batch_m module~module_mp_thompson module_mp_thompson module~multiply_inputs multiply_inputs module~multiply_inputs->module~inference_engine_m module~multiply_inputs->assert_m module~network_configuration_m->sourcery_string_m module~network_configuration_s network_configuration_s module~network_configuration_s->module~network_configuration_m module~network_configuration_s->assert_m module~network_configuration_s->sourcery_formats_m module~neuron_m->module~kind_parameters_m module~neuron_m->sourcery_string_m module~neuron_s neuron_s module~neuron_s->module~neuron_m module~neuron_s->assert_m module~power_series power_series module~power_series->module~inference_engine_m module~power_series->assert_m module~relu_m->module~differentiable_activation_strategy_m module~relu_m->module~kind_parameters_m module~relu_m->sourcery_string_m module~relu_s relu_s module~relu_s->module~kind_parameters_m module~relu_s->module~relu_m module~saturated_mixing_ratio_m saturated_mixing_ratio_m module~saturated_mixing_ratio_m->module~inference_engine_m module~saturated_mixing_ratio_m->assert_m module~sigmoid_m->module~differentiable_activation_strategy_m module~sigmoid_m->module~kind_parameters_m module~sigmoid_m->sourcery_string_m module~sigmoid_s sigmoid_s module~sigmoid_s->module~sigmoid_m module~step_m->module~activation_strategy_m module~step_m->module~kind_parameters_m module~step_m->sourcery_string_m module~step_s step_s module~step_s->module~kind_parameters_m module~step_s->module~step_m module~swish_m->module~differentiable_activation_strategy_m module~swish_m->module~kind_parameters_m module~swish_m->sourcery_string_m module~swish_s swish_s module~swish_s->module~sigmoid_m module~swish_s->module~swish_m module~tensor_m->module~kind_parameters_m module~tensor_range_m->module~tensor_m sourcery_m sourcery_m module~tensor_range_m->sourcery_m module~tensor_range_s tensor_range_s module~tensor_range_s->module~kind_parameters_m module~tensor_range_s->module~tensor_range_m module~tensor_range_s->assert_m module~tensor_range_s->sourcery_m module~tensor_s tensor_s module~tensor_s->module~tensor_m module~thompson_tensors_m thompson_tensors_m module~thompson_tensors_m->module~inference_engine_m module~thompson_tensors_m->module~module_mp_thompson module~thompson_tensors_m->assert_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~trainable_engine_s trainable_engine_s module~trainable_engine_s->module~tensor_m module~trainable_engine_s->module~trainable_engine_m module~trainable_engine_s->assert_m module~trainable_engine_s->intrinsic_array_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 module~training_configuration_s training_configuration_s module~training_configuration_s->module~inference_engine_m module~training_configuration_s->module~training_configuration_m module~training_configuration_s->assert_m program~concurrent_inferences concurrent_inferences program~concurrent_inferences->module~inference_engine_m program~concurrent_inferences->assert_m iso_fortran_env iso_fortran_env program~concurrent_inferences->iso_fortran_env program~concurrent_inferences->sourcery_m program~learn_addition learn_addition program~learn_addition->module~addition_m program~learn_addition->module~inference_engine_m program~learn_addition->assert_m program~learn_addition->sourcery_m program~learn_exponentiation learn_exponentiation program~learn_exponentiation->module~exponentiation_m program~learn_exponentiation->module~inference_engine_m program~learn_exponentiation->assert_m program~learn_exponentiation->sourcery_m program~learn_microphysics_procedures learn_microphysics_procedures program~learn_microphysics_procedures->module~inference_engine_m program~learn_microphysics_procedures->module~thompson_tensors_m program~learn_microphysics_procedures->assert_m program~learn_microphysics_procedures->iso_fortran_env program~learn_microphysics_procedures->sourcery_m program~learn_multiplication learn_multiplication program~learn_multiplication->module~inference_engine_m program~learn_multiplication->module~multiply_inputs program~learn_multiplication->assert_m program~learn_multiplication->sourcery_m program~learn_power_series learn_power_series program~learn_power_series->module~inference_engine_m program~learn_power_series->module~power_series program~learn_power_series->assert_m program~learn_power_series->sourcery_m program~print_training_configuration print_training_configuration program~print_training_configuration->module~inference_engine_m program~print_training_configuration->sourcery_m program~train_and_write train_and_write program~train_and_write->module~inference_engine_m program~train_and_write->assert_m program~train_and_write->sourcery_m program~train_saturated_mixture_ratio train_saturated_mixture_ratio program~train_saturated_mixture_ratio->module~inference_engine_m program~train_saturated_mixture_ratio->module~saturated_mixing_ratio_m program~train_saturated_mixture_ratio->assert_m program~train_saturated_mixture_ratio->iso_fortran_env program~train_saturated_mixture_ratio->sourcery_m program~write_read_infer write_read_infer program~write_read_infer->module~inference_engine_m program~write_read_infer->module~kind_parameters_m program~write_read_infer->sourcery_m
Help