fix(tf): fix DeepEval degradation for virtual types #3464
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.
The energy fitting network computes
nloc
by summing overnatoms[2:]
instead of readingnatoms[0]
.deepmd-kit/deepmd/tf/fit/ener.py
Lines 717 to 720 in 8dab33b
This causes an issue for the virtual types after refactoring
DeepEval
. Before,natoms_vec
is[nloc, nall, nloc, ...]
for mixed types. After refactoring, we use the samenatoms_vec
for mixed_types and the normal case, so the virtual type support is broken.This was not detected by the test, as the test model for the virtual types was added 12 months ago, but the energy fitting was changed 10 months ago.