Skip to content

Commit b3a0f12

Browse files
committed
rename observed types
1 parent 205a0d4 commit b3a0f12

6 files changed

Lines changed: 55 additions & 53 deletions

File tree

deepmd/entrypoints/show.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,31 +73,33 @@ def show(
7373
for k in sorted(size_dict):
7474
log.info(f"Parameters in {k}: {size_dict[k]:,}")
7575

76-
if "type-coverage" in ATTRIBUTES:
76+
if "observed-type" in ATTRIBUTES:
7777
if model_is_multi_task:
78-
log.info("The type coverage for each branch: ")
79-
total_type_coverage_list = []
78+
log.info("The observed types for each branch: ")
79+
total_observed_types_list = []
8080
model_branches = list(model_params["model_dict"].keys())
8181
for branch in model_branches:
8282
tmp_model = DeepEval(INPUT, head=branch, no_jit=True)
83-
type_coverage = tmp_model.get_type_coverage()
83+
observed_types = tmp_model.get_observed_types()
8484
log.info(
85-
f"{branch}: Number of covered types: {type_coverage['type_num']} "
85+
f"{branch}: Number of observed types: {observed_types['type_num']} "
8686
)
87-
log.info(f"{branch}: Covered types: {type_coverage['covered_type']} ")
88-
total_type_coverage_list += [
87+
log.info(
88+
f"{branch}: Observed types: {observed_types['observed_type']} "
89+
)
90+
total_observed_types_list += [
8991
tt
90-
for tt in type_coverage["covered_type"]
91-
if tt not in total_type_coverage_list
92+
for tt in observed_types["observed_type"]
93+
if tt not in total_observed_types_list
9294
]
9395
log.info(
94-
f"TOTAL number of covered types in the model: {len(total_type_coverage_list)} "
96+
f"TOTAL number of observed types in the model: {len(total_observed_types_list)} "
9597
)
9698
log.info(
97-
f"TOTAL covered types in the model: {sort_element_type(total_type_coverage_list)} "
99+
f"TOTAL observed types in the model: {sort_element_type(total_observed_types_list)} "
98100
)
99101
else:
100-
log.info("The type coverage for this model: ")
101-
type_coverage = model.get_type_coverage()
102-
log.info(f"Number of covered types: {type_coverage['type_num']} ")
103-
log.info(f"Covered types: {type_coverage['covered_type']} ")
102+
log.info("The observed types for this model: ")
103+
observed_types = model.get_observed_types()
104+
log.info(f"Number of observed types: {observed_types['type_num']} ")
105+
log.info(f"Observed types: {observed_types['observed_type']} ")

deepmd/infer/deep_eval.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,8 @@ def get_model_size(self) -> dict:
295295
"""Get model parameter count."""
296296
raise NotImplementedError("Not implemented in this backend.")
297297

298-
def get_type_coverage(self) -> dict:
299-
"""Get model type (element) coverage."""
298+
def get_observed_types(self) -> dict:
299+
"""Get observed types (elements) during model training."""
300300
raise NotImplementedError("Not implemented in this backend.")
301301

302302

@@ -573,6 +573,6 @@ def get_model_size(self) -> dict:
573573
"""Get model parameter count."""
574574
return self.deep_eval.get_model_size()
575575

576-
def get_type_coverage(self) -> dict:
577-
"""Get model type (element) coverage."""
578-
return self.deep_eval.get_type_coverage()
576+
def get_observed_types(self) -> dict:
577+
"""Get observed types (elements) during model training."""
578+
return self.deep_eval.get_observed_types()

deepmd/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -857,7 +857,7 @@ def main_parser() -> argparse.ArgumentParser:
857857
"descriptor",
858858
"fitting-net",
859859
"size",
860-
"type-coverage",
860+
"observed-type",
861861
],
862862
nargs="+",
863863
)

deepmd/pt/infer/deep_eval.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -652,15 +652,15 @@ def get_model_size(self) -> dict:
652652
"total": sum_param_des + sum_param_fit,
653653
}
654654

655-
def get_type_coverage(self) -> dict:
656-
"""Get model type (element) coverage.
655+
def get_observed_types(self) -> dict:
656+
"""Get observed types (elements) during model training.
657657
658658
Returns
659659
-------
660660
dict
661-
A dictionary containing the information of type coverage in the model:
662-
- 'type_num': the total number of covered types in this model.
663-
- 'covered_type': a list of the covered types in this model.
661+
A dictionary containing the information of observed type in the model:
662+
- 'type_num': the total number of observed types in this model.
663+
- 'observed_type': a list of the observed types in this model.
664664
"""
665665
buffers_dict = dict(self.dp.named_buffers())
666666
type_map = np.array(self.type_map)
@@ -678,7 +678,7 @@ def get_type_coverage(self) -> dict:
678678
bias_mask = (np.abs(out_bias) > 1e-6).any(-1) # 1e-6 for stability
679679
return {
680680
"type_num": bias_mask.sum(),
681-
"covered_type": sort_element_type(type_map[bias_mask].tolist()),
681+
"observed_type": sort_element_type(type_map[bias_mask].tolist()),
682682
}
683683

684684
def eval_descriptor(

doc/model/show-model-info.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dp --pt show <INPUT> <ATTRIBUTES...>
1717
- `descriptor`: Displays the model descriptor parameters.
1818
- `fitting-net`: Displays parameters of the fitting network.
1919
- `size`: (Supported Backends: PyTorch and PaddlePaddle) Shows the parameter counts for various components.
20-
- `type-coverage`: (Supported Backends: PyTorch) Shows the type (element) coverage for this model.
20+
- `observed-type`: (Supported Backends: PyTorch) Shows the type (element) coverage for this model.
2121

2222
## Example Usage
2323

@@ -61,10 +61,10 @@ Depending on the provided attributes and the model type, the output includes:
6161

6262
- Prints the number of parameters for each component (`descriptor`, `fitting-net`, etc.), as well as the total parameter count.
6363

64-
- **type-coverage**
64+
- **observed-type**
6565

6666
- Displays the count and list of element types covered by the model.
67-
- For multitask models, it shows the type coverage for each branch.
67+
- For multitask models, it shows the observed types for each branch.
6868
- Note: Type coverage reflects the types observed during training data statistics, which may differ from the type map.
6969

7070
## Example Output
@@ -80,9 +80,9 @@ Parameter counts:
8080
Parameters in descriptor: 19,350
8181
Parameters in fitting-net: 119,091
8282
Parameters in total: 138,441
83-
The type coverage for this model:
84-
Number of covered types: 2
85-
Covered types: ['H', 'O']
83+
The observed types for this model:
84+
Number of observed types: 2
85+
Observed types: ['H', 'O']
8686
```
8787

8888
For a multitask model, if `model-branch` is selected, it will additionally display available branches:

source/tests/pt/test_dp_show.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def setUp(self) -> None:
4747

4848
def test_checkpoint(self) -> None:
4949
INPUT = "model.pt"
50-
ATTRIBUTES = "type-map descriptor fitting-net size type-coverage"
50+
ATTRIBUTES = "type-map descriptor fitting-net size observed-type"
5151
with redirect_stderr(io.StringIO()) as f:
5252
run_dp(f"dp --pt show {INPUT} {ATTRIBUTES}")
5353
results = [
@@ -66,13 +66,13 @@ def test_checkpoint(self) -> None:
6666
assert "Parameters in descriptor: 19,350" in results[5]
6767
assert "Parameters in fitting-net: 119,091" in results[6]
6868
assert "Parameters in total: 138,441" in results[7]
69-
assert "The type coverage for this model:" in results[8]
70-
assert "Number of covered types: 2" in results[9]
71-
assert "Covered types: ['H', 'O']" in results[10]
69+
assert "The observed types for this model:" in results[8]
70+
assert "Number of observed types: 2" in results[9]
71+
assert "Observed types: ['H', 'O']" in results[10]
7272

7373
def test_frozen_model(self) -> None:
7474
INPUT = "frozen_model.pth"
75-
ATTRIBUTES = "type-map descriptor fitting-net size type-coverage"
75+
ATTRIBUTES = "type-map descriptor fitting-net size observed-type"
7676
with redirect_stderr(io.StringIO()) as f:
7777
run_dp(f"dp --pt show {INPUT} {ATTRIBUTES}")
7878
results = [
@@ -91,9 +91,9 @@ def test_frozen_model(self) -> None:
9191
assert "Parameters in descriptor: 19,350" in results[5]
9292
assert "Parameters in fitting-net: 119,091" in results[6]
9393
assert "Parameters in total: 138,441" in results[7]
94-
assert "The type coverage for this model:" in results[8]
95-
assert "Number of covered types: 2" in results[9]
96-
assert "Covered types: ['H', 'O']" in results[10] # only covers two elements
94+
assert "The observed types for this model:" in results[8]
95+
assert "Number of observed types: 2" in results[9]
96+
assert "Observed types: ['H', 'O']" in results[10] # only covers two elements
9797

9898
def test_checkpoint_error(self) -> None:
9999
INPUT = "model.pt"
@@ -162,7 +162,7 @@ def setUp(self) -> None:
162162

163163
def test_checkpoint(self) -> None:
164164
INPUT = "model.ckpt.pt"
165-
ATTRIBUTES = "model-branch type-map descriptor fitting-net size type-coverage"
165+
ATTRIBUTES = "model-branch type-map descriptor fitting-net size observed-type"
166166
with redirect_stderr(io.StringIO()) as f:
167167
run_dp(f"dp --pt show {INPUT} {ATTRIBUTES}")
168168
results = [
@@ -200,17 +200,17 @@ def test_checkpoint(self) -> None:
200200
assert "Parameters in descriptor: 19,350" in results[9]
201201
assert "Parameters in fitting-net: 4,860" in results[10]
202202
assert "Parameters in total: 24,210" in results[11]
203-
assert "The type coverage for each branch:" in results[12]
204-
assert "model_1: Number of covered types: 2" in results[13]
205-
assert "model_1: Covered types: ['H', 'O']" in results[14]
206-
assert "model_2: Number of covered types: 2" in results[15]
207-
assert "model_2: Covered types: ['H', 'O']" in results[16]
208-
assert "TOTAL number of covered types in the model: 2" in results[17]
209-
assert "TOTAL covered types in the model: ['H', 'O']" in results[18]
203+
assert "The observed types for each branch:" in results[12]
204+
assert "model_1: Number of observed types: 2" in results[13]
205+
assert "model_1: Observed types: ['H', 'O']" in results[14]
206+
assert "model_2: Number of observed types: 2" in results[15]
207+
assert "model_2: Observed types: ['H', 'O']" in results[16]
208+
assert "TOTAL number of observed types in the model: 2" in results[17]
209+
assert "TOTAL observed types in the model: ['H', 'O']" in results[18]
210210

211211
def test_frozen_model(self) -> None:
212212
INPUT = "frozen_model.pth"
213-
ATTRIBUTES = "type-map descriptor fitting-net size type-coverage"
213+
ATTRIBUTES = "type-map descriptor fitting-net size observed-type"
214214
with redirect_stderr(io.StringIO()) as f:
215215
run_dp(f"dp --pt show {INPUT} {ATTRIBUTES}")
216216
results = [
@@ -229,9 +229,9 @@ def test_frozen_model(self) -> None:
229229
assert "Parameters in descriptor: 19,350" in results[5]
230230
assert "Parameters in fitting-net: 4,860" in results[6]
231231
assert "Parameters in total: 24,210" in results[7]
232-
assert "The type coverage for this model:" in results[8]
233-
assert "Number of covered types: 2" in results[9]
234-
assert "Covered types: ['H', 'O']" in results[10] # only covers two elements
232+
assert "The observed types for this model:" in results[8]
233+
assert "Number of observed types: 2" in results[9]
234+
assert "Observed types: ['H', 'O']" in results[10] # only covers two elements
235235

236236
def tearDown(self) -> None:
237237
for f in os.listdir("."):

0 commit comments

Comments
 (0)