pwact 0.1.22__tar.gz → 0.1.24__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. {pwact-0.1.22 → pwact-0.1.24}/PKG-INFO +1 -1
  2. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/label/labeling.py +16 -7
  3. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/cmd_infos.py +1 -0
  4. {pwact-0.1.22 → pwact-0.1.24}/pwact/data_format/configop.py +23 -48
  5. {pwact-0.1.22 → pwact-0.1.24}/pwact/main.py +1 -0
  6. pwact-0.1.24/pwact/utils/tmp.py +29 -0
  7. {pwact-0.1.22 → pwact-0.1.24}/pwact.egg-info/PKG-INFO +1 -1
  8. {pwact-0.1.22 → pwact-0.1.24}/pwact.egg-info/SOURCES.txt +1 -0
  9. {pwact-0.1.22 → pwact-0.1.24}/setup.py +1 -1
  10. {pwact-0.1.22 → pwact-0.1.24}/LICENSE +0 -0
  11. {pwact-0.1.22 → pwact-0.1.24}/README.md +0 -0
  12. {pwact-0.1.22 → pwact-0.1.24}/pwact/__init__.py +0 -0
  13. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/__init__.py +0 -0
  14. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/environment.py +0 -0
  15. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/explore/__init__.py +0 -0
  16. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/explore/run_model_md.py +0 -0
  17. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/explore/select_image.py +0 -0
  18. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/init_bulk/__init__.py +0 -0
  19. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/init_bulk/aimd.py +0 -0
  20. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/init_bulk/duplicate_scale.py +0 -0
  21. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/init_bulk/init_bulk_run.py +0 -0
  22. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/init_bulk/relabel.py +0 -0
  23. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/init_bulk/relax.py +0 -0
  24. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/label/__init__.py +0 -0
  25. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/slurm/__init__.py +0 -0
  26. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/slurm/slurm.py +0 -0
  27. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/slurm/slurm_tool.py +0 -0
  28. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/test/__init__.py +0 -0
  29. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/test/test.py +0 -0
  30. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/train/__init__.py +0 -0
  31. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/train/dp_kpu.py +0 -0
  32. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/train/train_model.py +0 -0
  33. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/__init__.py +0 -0
  34. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/init_bulk_input.py +0 -0
  35. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/iter_input.py +0 -0
  36. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/resource.py +0 -0
  37. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/scf_param.py +0 -0
  38. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/__init__.py +0 -0
  39. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/model_param.py +0 -0
  40. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/nep_param.py +0 -0
  41. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/nn_feature_type.py +0 -0
  42. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/optimizer_param.py +0 -0
  43. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/train_param.py +0 -0
  44. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/train_param/work_file_param.py +0 -0
  45. {pwact-0.1.22 → pwact-0.1.24}/pwact/active_learning/user_input/workdir.py +0 -0
  46. {pwact-0.1.22 → pwact-0.1.24}/pwact/bin/__init__.py +0 -0
  47. {pwact-0.1.22 → pwact-0.1.24}/pwact/data_format/__init__.py +0 -0
  48. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/__init__.py +0 -0
  49. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/app_lib/__init__.py +0 -0
  50. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/app_lib/common.py +0 -0
  51. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/app_lib/cp2k.py +0 -0
  52. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/app_lib/cp2k_dp.py +0 -0
  53. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/app_lib/lammps.py +0 -0
  54. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/app_lib/pwmat.py +0 -0
  55. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/constant.py +0 -0
  56. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/file_operation.py +0 -0
  57. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/format_input_output.py +0 -0
  58. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/json_operation.py +0 -0
  59. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/pre_al_data_util.py +0 -0
  60. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/process_tool.py +0 -0
  61. {pwact-0.1.22 → pwact-0.1.24}/pwact/utils/slurm_script.py +0 -0
  62. {pwact-0.1.22 → pwact-0.1.24}/pwact.egg-info/dependency_links.txt +0 -0
  63. {pwact-0.1.22 → pwact-0.1.24}/pwact.egg-info/entry_points.txt +0 -0
  64. {pwact-0.1.22 → pwact-0.1.24}/pwact.egg-info/top_level.txt +0 -0
  65. {pwact-0.1.22 → pwact-0.1.24}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pwact
3
- Version: 0.1.22
3
+ Version: 0.1.24
4
4
  Summary: PWACT is an open-source automated active learning platform based on PWMLFF for efficient data sampling.
5
5
  Home-page: https://github.com/LonxunQuantum/PWact
6
6
  Author: LonxunQuantum
@@ -245,7 +245,7 @@ class Labeling(object):
245
245
  for sub_md_sys in sub_md_sys_dir_list:
246
246
  out_mlmd_list =search_files(sub_md_sys, "*-{}/{}".format(LABEL_FILE_STRUCTURE.scf, DFT_STYLE.get_scf_config(self.resource.dft_style)))
247
247
  # do a sorted?
248
- md_sys_mlmd.append(out_mlmd_list)
248
+ md_sys_mlmd.extend(out_mlmd_list)
249
249
  return md_sys_mlmd
250
250
 
251
251
  def get_aimd_list(self):
@@ -279,14 +279,23 @@ class Labeling(object):
279
279
 
280
280
  # scf files to pwdata format
281
281
  scf_configs = self.collect_scf_configs()
282
- for scf_md in scf_configs:
283
- datasets_path_name = os.path.basename(os.path.dirname(os.path.dirname(scf_md[0])))#md.001.sys.001.t.000.p.000
284
- extract_pwdata(data_list=scf_md,
285
- data_format =DFT_STYLE.get_format_by_postfix(os.path.basename(scf_md[0])),
286
- datasets_path =os.path.join(self.result_dir, datasets_path_name),
282
+
283
+ extract_pwdata(data_list=scf_configs,
284
+ data_format =DFT_STYLE.get_format_by_postfix(os.path.basename(scf_configs[0])),
285
+ datasets_path =self.result_dir,
287
286
  train_valid_ratio=self.input_param.train.train_valid_ratio,
288
287
  data_shuffle =self.input_param.train.data_shuffle,
289
288
  merge_data =True
290
- )
289
+ )
290
+
291
+ # for id, scf_md in enumerate(scf_configs):
292
+ # datasets_path_name = os.path.basename(os.path.dirname(os.path.dirname(scf_md[0])))#md.001.sys.001.t.000.p.000
293
+ # extract_pwdata(data_list=scf_md,
294
+ # data_format =DFT_STYLE.get_format_by_postfix(os.path.basename(scf_md[0])),
295
+ # datasets_path =os.path.join(self.result_dir, "{}-{}".format(id, datasets_path_name)),
296
+ # train_valid_ratio=self.input_param.train.train_valid_ratio,
297
+ # data_shuffle =self.input_param.train.data_shuffle,
298
+ # merge_data =True
299
+ # )
291
300
  # copy to main dir
292
301
  copy_dir(self.result_dir, self.real_result_dir)
@@ -22,6 +22,7 @@ def cmd_infos(cmd_type=None):
22
22
  cmd_info += "'pwact kill run' for 'run' tasks\n\n"
23
23
 
24
24
  cmd_info += "to_pwdata".lower() + "\n"
25
+ cmd_info += "(This method has been abandoned, new conversion methods refer to the pwdata documentation http://doc.lonxun.com/PWMLFF/Appendix-2/)\n\n"
25
26
  cmd_info += "you could use this method to change outcars or movements to pwdata format.\nFor more detail for this command, you could use 'PWact to_pwdata -h'\n\n"
26
27
 
27
28
  cmd_info += "gather_pwdata".lower() + "\n"
@@ -150,57 +150,32 @@ def extract_pwdata(data_list:list[str],
150
150
  # if data_format == DFT_STYLE.cp2k:
151
151
  # raise Exception("not relized cp2k pwdata convert")
152
152
 
153
- data_name = None
154
- if merge_data:
155
- data_name = os.path.basename(datasets_path)
156
- if not os.path.isabs(datasets_path):
157
- # data_name = datasets_path
158
- datasets_path = os.path.dirname(os.path.join(os.getcwd(), datasets_path))
153
+ if not os.path.isabs(datasets_path):
154
+ # data_name = datasets_path
155
+ datasets_path = os.path.join(os.getcwd(), datasets_path)
156
+ image_data = None
157
+ for data_path in data_list:
158
+ if image_data is not None:
159
+ tmp_config = Config(data_format, data_path)
160
+ # if not isinstance(tmp_config, list):
161
+ # tmp_config = [tmp_config]
162
+ image_data.images.extend(tmp_config.images)
159
163
  else:
160
- datasets_path = os.path.dirname(datasets_path)
161
- image_data = None
162
- for data_path in data_list:
163
- if image_data is not None:
164
- tmp_config = Config(data_format, data_path)
165
- # if not isinstance(tmp_config, list):
166
- # tmp_config = [tmp_config]
167
- image_data.images.extend(tmp_config.images)
168
- else:
169
- image_data = Config(data_format, data_path)
170
-
171
- if not isinstance(image_data.images, list):
172
- image_data.images = [image_data.images]
164
+ image_data = Config(data_format, data_path)
173
165
 
174
- # if not isinstance(image_data, list):
175
- # image_data = [image_data]
176
- if interval > 1:
177
- tmp = []
178
- for i in range(0, len(image_data.images)):
179
- if i % interval == 0:
180
- tmp.append(image_data.images[i])
181
- image_data.images = tmp
166
+ if not isinstance(image_data.images, list):
167
+ image_data.images = [image_data.images]
168
+
169
+ # if not isinstance(image_data, list):
170
+ # image_data = [image_data]
171
+ if interval > 1:
172
+ tmp = []
173
+ for i in range(0, len(image_data.images)):
174
+ if i % interval == 0:
175
+ tmp.append(image_data.images[i])
176
+ image_data.images = tmp
182
177
 
183
- image_data.to(
184
- output_path=datasets_path,
185
- save_format=PWDATA.pwmlff_npy,
186
- data_name=data_name,
187
- train_ratio = train_valid_ratio,
188
- train_data_path="train",
189
- valid_data_path="valid",
190
- random=data_shuffle,
191
- seed = 2024,
192
- retain_raw = False
193
- )
194
- else:
195
- for data_path in data_list:
196
- image_data = Config(data_format, data_path)
197
- if interval > 1:
198
- tmp = []
199
- for i in range(0, len(image_data.images)):
200
- if i % interval == 0:
201
- tmp.append(image_data.images[i])
202
- image_data.images = tmp
203
- image_data.to(
178
+ image_data.to(
204
179
  output_path=datasets_path,
205
180
  save_format=PWDATA.pwmlff_npy,
206
181
  train_ratio = train_valid_ratio,
@@ -348,6 +348,7 @@ def main():
348
348
  gather_pwmata(sys.argv[2:])
349
349
 
350
350
  elif "to_pwdata".upper() == sys.argv[1].upper():#these function may use pwdata command
351
+ print("\n\nWarning! This method has been abandoned, new conversion methods refer to the pwdata documentation http://doc.lonxun.com/PWMLFF/Appendix-2/\n\n")
351
352
  to_pwdata(sys.argv[2:])
352
353
 
353
354
  elif "run".upper() == sys.argv[1].upper():
@@ -0,0 +1,29 @@
1
+ from pwdata import Config
2
+ import os, sys, glob
3
+ import numpy as np
4
+
5
+ def count_pwdata():
6
+ work_dir = "/data/home/wuxingxing/datas/debugs/dengjiapei/run_iter/iter.0000/label/result_bk"
7
+ dir_list = glob.glob(os.path.join(work_dir, "*"))
8
+ res = []
9
+ for dir in dir_list:
10
+ # train
11
+ train_num = np.load(os.path.join(dir, "train/energies.npy")).shape[0]
12
+ res.append(train_num)
13
+
14
+ if os.path.exists(os.path.join(dir, "valid/energies.npy")):
15
+ test_num = np.load(os.path.join(dir, "valid/energies.npy")).shape[0]
16
+ res.append(test_num)
17
+ print("{} {} {}".format( dir, train_num, test_num))
18
+ else:
19
+ print("{} {}".format(dir, train_num))
20
+ print(np.sum(res))
21
+
22
+ def count_outmlmd():
23
+ work_dir = "/data/home/wuxingxing/datas/debugs/dengjiapei/run_iter/iter.0000/label/scf"
24
+ mlmds = glob.glob(os.path.join(work_dir, "*/*/*/OUT.MLMD"))
25
+ print(len(mlmds))
26
+
27
+ if __name__=="__main__":
28
+ count_pwdata()
29
+ count_outmlmd()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pwact
3
- Version: 0.1.22
3
+ Version: 0.1.24
4
4
  Summary: PWACT is an open-source automated active learning platform based on PWMLFF for efficient data sampling.
5
5
  Home-page: https://github.com/LonxunQuantum/PWact
6
6
  Author: LonxunQuantum
@@ -54,6 +54,7 @@ pwact/utils/json_operation.py
54
54
  pwact/utils/pre_al_data_util.py
55
55
  pwact/utils/process_tool.py
56
56
  pwact/utils/slurm_script.py
57
+ pwact/utils/tmp.py
57
58
  pwact/utils/app_lib/__init__.py
58
59
  pwact/utils/app_lib/common.py
59
60
  pwact/utils/app_lib/cp2k.py
@@ -5,7 +5,7 @@ with open("README.md", "r") as fh:
5
5
 
6
6
  setuptools.setup(
7
7
  name="pwact",
8
- version="0.1.22",
8
+ version="0.1.24",
9
9
  author="LonxunQuantum",
10
10
  author_email="lonxun@pwmat.com",
11
11
  description="PWACT is an open-source automated active learning platform based on PWMLFF for efficient data sampling.",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes