Override force standard deviation with energy #239
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR forcibly overrides the force normalization standard deviation value with an energy one, if both normalizers are present in the
ForceRegressionTask
.In #234, the new branch condition (if an energy normalizer is created but not a force one) was intended to be a simple QoL improvement by automatically creating a force normalizer based on the corresponding energy standard deviation value. The catch, however, was that this condition I think will only trigger for previously created tasks, or if
task_keys
are not passed, and was not triggering in LiPS training runs (i.e. "force" normalizer was present, but was a standard normal distribution).This PR makes it so that we compare values of the force and energy
std
, and if they are not equal, the energystd
value overwrites the force one to ensure consistency. While there could be some instance where they might not be equal, the intended behavior now forForceRegressionTask
is that force is a derivative of energy, and should follow suit.