Skip to content

Commit cdad312

Browse files
fix(dptest): Wrong dptest results except for energy head (#4280)
Solve issue #4249 In `/deepmd/entrypoints/test.py` line 127 `tmap = dp.get_type_map() if isinstance(dp, DeepPot) else None`. If we use `DeepProperty` or `DeepPolar` or `DeepDOS`..... `tmap` is None. So `type_map` is not modified again according to `type_map` in `input.json`. So `atype` is wrong in the model forward process. The model prediction value is wrong. According to @njzjz , It seems that in the `r2` branch, `get_type_map()` is only available in `DeepPot`. After we refactor `DeepEval` in v3, this should not be a problem anymore. I also change the order of `type_map` in UT to ensure that when `type_map` of `input.json` doesn't match the `type_map ` of data, the result of the dptest is still correct. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced warning logs for unsupported `DeepGlobalPolar` model usage, recommending the `DeepPolar` model instead. - **Bug Fixes** - Simplified logic for obtaining the type map, ensuring consistent retrieval from the updated source. - Adjusted model configuration in tests to influence type interpretation. - **Documentation** - Improved clarity of comments and logging statements for better understanding. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 8e27d2f commit cdad312

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

deepmd/entrypoints/test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ def test(
124124
log.info(f"# testing system : {system}")
125125

126126
# create data class
127-
tmap = dp.get_type_map() if isinstance(dp, DeepPot) else None
127+
tmap = dp.get_type_map()
128128
data = DeepmdData(
129129
system,
130130
set_prefix="set",

source/tests/pt/test_dp_test.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,9 @@ def setUp(self):
152152
self.config["training"]["training_data"]["systems"] = data_file
153153
self.config["training"]["validation_data"]["systems"] = data_file
154154
self.config["model"] = deepcopy(model_property)
155+
self.config["model"]["type_map"] = [
156+
self.config["model"]["type_map"][i] for i in [1, 0, 3, 2]
157+
]
155158
self.input_json = "test_dp_test_property.json"
156159
with open(self.input_json, "w") as fp:
157160
json.dump(self.config, fp, indent=4)

0 commit comments

Comments
 (0)