Programs

ProgramSource FileDescription
concurrent_inferences concurrent-inferences.f90

This program demonstrates how to read a neural network from a JSON file and use the network to perform concurrent inferences.

learn_addition learn-addition.F90

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

learn_exponentiation learn-exponentiation.F90

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

learn_microphysics_procedures learn-microphysics-procedures.F90

Train a neural network proxies for procedures in the Thompson microphysics model in of ICAR (https://github.com/BerkeleyLab/icar).

learn_multiplication learn-multiplication.F90

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

learn_power_series learn-power-series.F90

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

print_training_configuration print-training-configuration.F90

Demonstrate how to construct and print a training_configuration_t object

train_and_write train-and-write.F90

This program demonstrates how to train a simple neural network starting from a randomized initial condition and how to write the initial network and the trained network to separate JSON files. The network has two hiden layers. The input, hidden, and output layers are all two nodes wide. The training data has outputs that identically match the corresponding inputs. Hence, the desired network represents an identity mapping. With RELU activation functions, the desired network therefore contains weights corresponding to identity matrices and biases that vanish everywhere. The initial condition corresponds to the desired network with all weights and biases perturbed by a random variable that is uniformly distributed on the range [0,0.1].

train_saturated_mixture_ratio learn-saturated-mixing-ratio.F90

This program trains a neural network to learn the saturated mixing ratio function of ICAR.

write_read_infer write-read-infer.F90

This program demonstrates how to write a neural network to a JSON file, read the same network from the written file, query the network object for some of its properties, print those properties, and use the network to perform inference. The network performs an identity mapping from any non-negative inputs to the corresponding outputs using a RELU activation function.