Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Parallel decoupled Kalman filter training #61

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
1 change: 1 addition & 0 deletions examples/input.nn.recommended
Original file line number Diff line number Diff line change
@@ -35,6 +35,7 @@ parallel_mode 0 # Training parallelization used (
jacobian_mode 1 # Jacobian computation mode (0 = Summation to single gradient, 1 = Per-task summed gradient, 2 = Full Jacobian).
update_strategy 0 # Update strategy (0 = Combined, 1 = Per-element).
selection_mode 2 # Update candidate selection mode (0 = Random, 1 = Sort, 2 = Threshold).
decoupling_type 0 # Kalman filter decoupling type (0 = GEKF, 1 = ED-GEKF, 2 = Layer, 3 = NDEKF, 4 = FDEKF).
task_batch_size_energy 1 # Number of energy update candidates prepared per task for each update (0 = Entire training set).
task_batch_size_force 1 # Number of force update candidates prepared per task for each update (0 = Entire training set).
memorize_symfunc_results # Keep symmetry function results in memory.
1 change: 1 addition & 0 deletions examples/nnp-train/Cu2S_PBE/input.nn
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@ parallel_mode 0 # Training parallelization used (
jacobian_mode 1 # Jacobian computation mode (0 = Summation to single gradient, 1 = Per-task summed gradient, 2 = Full Jacobian).
update_strategy 0 # Update strategy (0 = Combined, 1 = Per-element).
selection_mode 2 # Update candidate selection mode (0 = Random, 1 = Sort, 2 = Threshold).
decoupling_type 0 # Kalman filter decoupling type (0 = GEKF, 1 = ED-GEKF, 2 = Layer, 3 = NDEKF, 4 = FDEKF).
task_batch_size_energy 1 # Number of energy update candidates prepared per task for each update (0 = Entire training set).
task_batch_size_force 1 # Number of force update candidates prepared per task for each update (0 = Entire training set).
memorize_symfunc_results # Keep symmetry function results in memory.
1 change: 1 addition & 0 deletions examples/nnp-train/H2O_RPBE-D3/input.nn
Original file line number Diff line number Diff line change
@@ -44,6 +44,7 @@ parallel_mode 0 # Training parallelization used (
jacobian_mode 1 # Jacobian computation mode (0 = Summation to single gradient, 1 = Per-task summed gradient, 2 = Full Jacobian).
update_strategy 0 # Update strategy (0 = Combined, 1 = Per-element).
selection_mode 2 # Update candidate selection mode (0 = Random, 1 = Sort, 2 = Threshold).
decoupling_type 0 # Kalman filter decoupling type (0 = GEKF, 1 = ED-GEKF, 2 = Layer, 3 = NDEKF, 4 = FDEKF).
task_batch_size_energy 1 # Number of energy update candidates prepared per task for each update (0 = Entire training set).
task_batch_size_force 1 # Number of force update candidates prepared per task for each update (0 = Entire training set).
memorize_symfunc_results # Keep symmetry function results in memory.
1 change: 1 addition & 0 deletions examples/nnp-train/LJ/input.nn
Original file line number Diff line number Diff line change
@@ -34,6 +34,7 @@ parallel_mode 0 # Training parallelization used (
jacobian_mode 1 # Jacobian computation mode (0 = Summation to single gradient, 1 = Per-task summed gradient, 2 = Full Jacobian).
update_strategy 0 # Update strategy (0 = Combined, 1 = Per-element).
selection_mode 2 # Update candidate selection mode (0 = Random, 1 = Sort, 2 = Threshold).
decoupling_type 0 # Kalman filter decoupling type (0 = GEKF, 1 = ED-GEKF, 2 = Layer, 3 = NDEKF, 4 = FDEKF).
task_batch_size_energy 1 # Number of energy update candidates prepared per task for each update (0 = Entire training set).
task_batch_size_force 1 # Number of force update candidates prepared per task for each update (0 = Entire training set).
memorize_symfunc_results # Keep symmetry function results in memory.
4 changes: 3 additions & 1 deletion src/libnnp/Mode.cpp
Original file line number Diff line number Diff line change
@@ -884,7 +884,9 @@ void Mode::setupNeuralNetworkWeights(string const& fileNameFormat)
weights.push_back(atof(splitLine.at(0).c_str()));
}
}
it->neuralNetwork->setConnections(&(weights.front()));
// Attention: need alternative (old) ordering scheme here for
// backward compatibility!
it->neuralNetwork->setConnectionsAO(&(weights.front()));
file.close();
}

Loading