Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(app): 1st converging cloud microphysics model
This commit exhibits nearly monotic convergence as measured by the cost function decreasing 3 orders of magnitude in the first 120 iterations. To reproduce this behavior, execute ./build/run-fpm.sh run -- --base training --epochs 120 --stride 720 with the present working directory containing the 29.7 GB training_input.nc and training_output.nc produced for the "Colorado benchmark simulation" using commit d7aa958 on the neural-net branch of https://github.com/berkeleylab/icar, which uses the simplest of ICAR's cloud microphysics models. The Inference-Engine run uses * A single time instant (as determined by the above stride), * A 30% retention rate of grid points where time derivatives vanish, * Zero initial weights and biases, * A batch size equal to the entire time instant, * Gradient descent with no optimizer, and * A single mini-batch. The program shuffles the data set in order to facilitate stochastic gradient descent. However, because a single mini-batch is used, the cost function is computed across the entire data set, which negates the value of shuffling and thus presumably makes this gradient descent. Because a single time instant is used, this case reflects the behavior that might be expected if Inference-Engine is integrated into ICAR and training happens during an ICAR run. In such a scenario, it might be desirable to iterate on each time instant as soon as the time step completes. Doing so might either help to pretrain the network to promote faster convergence if the data is saved for additional subsequent after the ICAR run. Alternatively, training at ICAR runtime might obviate the need for saving large training data sets.
- Loading branch information