@@ -47,43 +47,49 @@ def setUp(self) -> None:
4747
4848 def test_checkpoint (self ) -> None :
4949 INPUT = "model.pt"
50- ATTRIBUTES = "type-map descriptor fitting-net size"
50+ ATTRIBUTES = "type-map descriptor fitting-net size type-coverage "
5151 with redirect_stderr (io .StringIO ()) as f :
5252 run_dp (f"dp --pt show { INPUT } { ATTRIBUTES } " )
5353 results = f .getvalue ().split ("\n " )[:- 1 ]
54- assert "This is a singletask model" in results [- 8 ]
55- assert "The type_map is ['O', 'H', 'Au']" in results [- 7 ]
54+ assert "This is a singletask model" in results [- 11 ]
55+ assert "The type_map is ['O', 'H', 'Au']" in results [- 10 ]
5656 assert (
5757 "{'type': 'se_e2_a'" and "'sel': [46, 92, 4]" and "'rcut': 4.0"
58- ) in results [- 6 ]
58+ ) in results [- 9 ]
5959 assert (
6060 "The fitting_net parameter is {'neuron': [24, 24, 24], 'resnet_dt': True, 'seed': 1}"
61- in results [- 5 ]
61+ in results [- 8 ]
6262 )
63- assert "Parameter counts:" in results [- 4 ]
64- assert "Parameters in descriptor: 19,350" in results [- 3 ]
65- assert "Parameters in fitting-net: 119,091" in results [- 2 ]
66- assert "Parameters in total: 138,441" in results [- 1 ]
63+ assert "Parameter counts:" in results [- 7 ]
64+ assert "Parameters in descriptor: 19,350" in results [- 6 ]
65+ assert "Parameters in fitting-net: 119,091" in results [- 5 ]
66+ assert "Parameters in total: 138,441" in results [- 4 ]
67+ assert "The type coverage for this model:" in results [- 3 ]
68+ assert "Number of covered types: 2" in results [- 2 ]
69+ assert "Covered types: ['H', 'O']" in results [- 1 ]
6770
6871 def test_frozen_model (self ) -> None :
6972 INPUT = "frozen_model.pth"
70- ATTRIBUTES = "type-map descriptor fitting-net size"
73+ ATTRIBUTES = "type-map descriptor fitting-net size type-coverage "
7174 with redirect_stderr (io .StringIO ()) as f :
7275 run_dp (f"dp --pt show { INPUT } { ATTRIBUTES } " )
7376 results = f .getvalue ().split ("\n " )[:- 1 ]
74- assert "This is a singletask model" in results [- 8 ]
75- assert "The type_map is ['O', 'H', 'Au']" in results [- 7 ]
77+ assert "This is a singletask model" in results [- 11 ]
78+ assert "The type_map is ['O', 'H', 'Au']" in results [- 10 ]
7679 assert (
7780 "{'type': 'se_e2_a'" and "'sel': [46, 92, 4]" and "'rcut': 4.0"
78- ) in results [- 6 ]
81+ ) in results [- 9 ]
7982 assert (
8083 "The fitting_net parameter is {'neuron': [24, 24, 24], 'resnet_dt': True, 'seed': 1}"
81- in results [- 5 ]
84+ in results [- 8 ]
8285 )
83- assert "Parameter counts:" in results [- 4 ]
84- assert "Parameters in descriptor: 19,350" in results [- 3 ]
85- assert "Parameters in fitting-net: 119,091" in results [- 2 ]
86- assert "Parameters in total: 138,441" in results [- 1 ]
86+ assert "Parameter counts:" in results [- 7 ]
87+ assert "Parameters in descriptor: 19,350" in results [- 6 ]
88+ assert "Parameters in fitting-net: 119,091" in results [- 5 ]
89+ assert "Parameters in total: 138,441" in results [- 4 ]
90+ assert "The type coverage for this model:" in results [- 3 ]
91+ assert "Number of covered types: 2" in results [- 2 ]
92+ assert "Covered types: ['H', 'O']" in results [- 1 ] # only covers two elements
8793
8894 def test_checkpoint_error (self ) -> None :
8995 INPUT = "model.pt"
@@ -152,62 +158,72 @@ def setUp(self) -> None:
152158
153159 def test_checkpoint (self ) -> None :
154160 INPUT = "model.ckpt.pt"
155- ATTRIBUTES = "model-branch type-map descriptor fitting-net size"
161+ ATTRIBUTES = "model-branch type-map descriptor fitting-net size type-coverage "
156162 with redirect_stderr (io .StringIO ()) as f :
157163 run_dp (f"dp --pt show { INPUT } { ATTRIBUTES } " )
158164 results = f .getvalue ().split ("\n " )[:- 1 ]
159- assert "This is a multitask model" in results [- 12 ]
165+ assert "This is a multitask model" in results [- 19 ]
160166 assert (
161167 "Available model branches are ['model_1', 'model_2', 'RANDOM'], "
162168 "where 'RANDOM' means using a randomly initialized fitting net."
163- in results [- 11 ]
169+ in results [- 18 ]
164170 )
165- assert "The type_map of branch model_1 is ['O', 'H', 'B']" in results [- 10 ]
166- assert "The type_map of branch model_2 is ['O', 'H', 'B']" in results [- 9 ]
171+ assert "The type_map of branch model_1 is ['O', 'H', 'B']" in results [- 17 ]
172+ assert "The type_map of branch model_2 is ['O', 'H', 'B']" in results [- 16 ]
167173 assert (
168174 "model_1"
169175 and "'type': 'se_e2_a'"
170176 and "'sel': [46, 92, 4]"
171177 and "'rcut_smth': 0.5"
172- ) in results [- 8 ]
178+ ) in results [- 15 ]
173179 assert (
174180 "model_2"
175181 and "'type': 'se_e2_a'"
176182 and "'sel': [46, 92, 4]"
177183 and "'rcut_smth': 0.5"
178- ) in results [- 7 ]
184+ ) in results [- 14 ]
179185 assert (
180186 "The fitting_net parameter of branch model_1 is {'neuron': [1, 2, 3], 'seed': 678}"
181- in results [- 6 ]
187+ in results [- 13 ]
182188 )
183189 assert (
184190 "The fitting_net parameter of branch model_2 is {'neuron': [9, 8, 7], 'seed': 1111}"
185- in results [- 5 ]
191+ in results [- 12 ]
186192 )
187- assert "Parameter counts for a single branch model:" in results [- 4 ]
188- assert "Parameters in descriptor: 19,350" in results [- 3 ]
189- assert "Parameters in fitting-net: 4,860" in results [- 2 ]
190- assert "Parameters in total: 24,210" in results [- 1 ]
193+ assert "Parameter counts for a single branch model:" in results [- 11 ]
194+ assert "Parameters in descriptor: 19,350" in results [- 10 ]
195+ assert "Parameters in fitting-net: 4,860" in results [- 9 ]
196+ assert "Parameters in total: 24,210" in results [- 8 ]
197+ assert "The type coverage for each branch:" in results [- 7 ]
198+ assert "model_1: Number of covered types: 2" in results [- 6 ]
199+ assert "model_1: Covered types: ['H', 'O']" in results [- 5 ]
200+ assert "model_2: Number of covered types: 2" in results [- 4 ]
201+ assert "model_2: Covered types: ['H', 'O']" in results [- 3 ]
202+ assert "TOTAL number of covered types in the model: 2" in results [- 2 ]
203+ assert "TOTAL covered types in the model: ['H', 'O']" in results [- 1 ]
191204
192205 def test_frozen_model (self ) -> None :
193206 INPUT = "frozen_model.pth"
194- ATTRIBUTES = "type-map descriptor fitting-net size"
207+ ATTRIBUTES = "type-map descriptor fitting-net size type-coverage "
195208 with redirect_stderr (io .StringIO ()) as f :
196209 run_dp (f"dp --pt show { INPUT } { ATTRIBUTES } " )
197210 results = f .getvalue ().split ("\n " )[:- 1 ]
198- assert "This is a singletask model" in results [- 8 ]
199- assert "The type_map is ['O', 'H', 'B']" in results [- 7 ]
211+ assert "This is a singletask model" in results [- 11 ]
212+ assert "The type_map is ['O', 'H', 'B']" in results [- 10 ]
200213 assert (
201214 "'type': 'se_e2_a'" and "'sel': [46, 92, 4]" and "'rcut_smth': 0.5"
202- ) in results [- 6 ]
215+ ) in results [- 9 ]
203216 assert (
204217 "The fitting_net parameter is {'neuron': [1, 2, 3], 'seed': 678}"
205- in results [- 5 ]
218+ in results [- 8 ]
206219 )
207- assert "Parameter counts:" in results [- 4 ]
208- assert "Parameters in descriptor: 19,350" in results [- 3 ]
209- assert "Parameters in fitting-net: 4,860" in results [- 2 ]
210- assert "Parameters in total: 24,210" in results [- 1 ]
220+ assert "Parameter counts:" in results [- 7 ]
221+ assert "Parameters in descriptor: 19,350" in results [- 6 ]
222+ assert "Parameters in fitting-net: 4,860" in results [- 5 ]
223+ assert "Parameters in total: 24,210" in results [- 4 ]
224+ assert "The type coverage for this model:" in results [- 3 ]
225+ assert "Number of covered types: 2" in results [- 2 ]
226+ assert "Covered types: ['H', 'O']" in results [- 1 ] # only covers two elements
211227
212228 def tearDown (self ) -> None :
213229 for f in os .listdir ("." ):
0 commit comments