gpbench 1.0.0__py3-none-any.whl

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 (188) hide show
  1. gp_agent_tool/compute_dataset_feature.py +67 -0
  2. gp_agent_tool/config.py +65 -0
  3. gp_agent_tool/experience/create_masked_dataset_summary.py +97 -0
  4. gp_agent_tool/experience/dataset_summary_info.py +13 -0
  5. gp_agent_tool/experience/experience_info.py +12 -0
  6. gp_agent_tool/experience/get_matched_experience.py +111 -0
  7. gp_agent_tool/llm_client.py +119 -0
  8. gp_agent_tool/logging_utils.py +24 -0
  9. gp_agent_tool/main.py +347 -0
  10. gp_agent_tool/read_agent/__init__.py +46 -0
  11. gp_agent_tool/read_agent/nodes.py +674 -0
  12. gp_agent_tool/read_agent/prompts.py +547 -0
  13. gp_agent_tool/read_agent/python_repl_tool.py +165 -0
  14. gp_agent_tool/read_agent/state.py +101 -0
  15. gp_agent_tool/read_agent/workflow.py +54 -0
  16. gpbench/__init__.py +25 -0
  17. gpbench/_selftest.py +104 -0
  18. gpbench/method_class/BayesA/BayesA_class.py +141 -0
  19. gpbench/method_class/BayesA/__init__.py +5 -0
  20. gpbench/method_class/BayesA/_bayesfromR.py +96 -0
  21. gpbench/method_class/BayesA/_param_free_base_model.py +84 -0
  22. gpbench/method_class/BayesA/bayesAfromR.py +16 -0
  23. gpbench/method_class/BayesB/BayesB_class.py +140 -0
  24. gpbench/method_class/BayesB/__init__.py +5 -0
  25. gpbench/method_class/BayesB/_bayesfromR.py +96 -0
  26. gpbench/method_class/BayesB/_param_free_base_model.py +84 -0
  27. gpbench/method_class/BayesB/bayesBfromR.py +16 -0
  28. gpbench/method_class/BayesC/BayesC_class.py +141 -0
  29. gpbench/method_class/BayesC/__init__.py +4 -0
  30. gpbench/method_class/BayesC/_bayesfromR.py +96 -0
  31. gpbench/method_class/BayesC/_param_free_base_model.py +84 -0
  32. gpbench/method_class/BayesC/bayesCfromR.py +16 -0
  33. gpbench/method_class/CropARNet/CropARNet_class.py +186 -0
  34. gpbench/method_class/CropARNet/CropARNet_he_class.py +154 -0
  35. gpbench/method_class/CropARNet/__init__.py +5 -0
  36. gpbench/method_class/CropARNet/base_CropARNet_class.py +178 -0
  37. gpbench/method_class/Cropformer/Cropformer_class.py +308 -0
  38. gpbench/method_class/Cropformer/__init__.py +5 -0
  39. gpbench/method_class/Cropformer/cropformer_he_class.py +221 -0
  40. gpbench/method_class/DL_GWAS/DL_GWAS_class.py +250 -0
  41. gpbench/method_class/DL_GWAS/DL_GWAS_he_class.py +169 -0
  42. gpbench/method_class/DL_GWAS/__init__.py +5 -0
  43. gpbench/method_class/DNNGP/DNNGP_class.py +163 -0
  44. gpbench/method_class/DNNGP/DNNGP_he_class.py +138 -0
  45. gpbench/method_class/DNNGP/__init__.py +5 -0
  46. gpbench/method_class/DNNGP/base_dnngp_class.py +116 -0
  47. gpbench/method_class/DeepCCR/DeepCCR_class.py +172 -0
  48. gpbench/method_class/DeepCCR/DeepCCR_he_class.py +161 -0
  49. gpbench/method_class/DeepCCR/__init__.py +5 -0
  50. gpbench/method_class/DeepCCR/base_DeepCCR_class.py +209 -0
  51. gpbench/method_class/DeepGS/DeepGS_class.py +184 -0
  52. gpbench/method_class/DeepGS/DeepGS_he_class.py +150 -0
  53. gpbench/method_class/DeepGS/__init__.py +5 -0
  54. gpbench/method_class/DeepGS/base_deepgs_class.py +153 -0
  55. gpbench/method_class/EIR/EIR_class.py +276 -0
  56. gpbench/method_class/EIR/EIR_he_class.py +184 -0
  57. gpbench/method_class/EIR/__init__.py +5 -0
  58. gpbench/method_class/EIR/utils/__init__.py +0 -0
  59. gpbench/method_class/EIR/utils/array_output_modules.py +97 -0
  60. gpbench/method_class/EIR/utils/common.py +65 -0
  61. gpbench/method_class/EIR/utils/lcl_layers.py +235 -0
  62. gpbench/method_class/EIR/utils/logging.py +59 -0
  63. gpbench/method_class/EIR/utils/mlp_layers.py +92 -0
  64. gpbench/method_class/EIR/utils/models_locally_connected.py +642 -0
  65. gpbench/method_class/EIR/utils/transformer_models.py +546 -0
  66. gpbench/method_class/ElasticNet/ElasticNet_class.py +133 -0
  67. gpbench/method_class/ElasticNet/ElasticNet_he_class.py +91 -0
  68. gpbench/method_class/ElasticNet/__init__.py +5 -0
  69. gpbench/method_class/G2PDeep/G2PDeep_he_class.py +217 -0
  70. gpbench/method_class/G2PDeep/G2Pdeep_class.py +205 -0
  71. gpbench/method_class/G2PDeep/__init__.py +5 -0
  72. gpbench/method_class/G2PDeep/base_G2PDeep_class.py +209 -0
  73. gpbench/method_class/GBLUP/GBLUP_class.py +183 -0
  74. gpbench/method_class/GBLUP/__init__.py +5 -0
  75. gpbench/method_class/GEFormer/GEFormer_class.py +169 -0
  76. gpbench/method_class/GEFormer/GEFormer_he_class.py +137 -0
  77. gpbench/method_class/GEFormer/__init__.py +5 -0
  78. gpbench/method_class/GEFormer/gMLP_class.py +357 -0
  79. gpbench/method_class/LightGBM/LightGBM_class.py +224 -0
  80. gpbench/method_class/LightGBM/LightGBM_he_class.py +121 -0
  81. gpbench/method_class/LightGBM/__init__.py +5 -0
  82. gpbench/method_class/RF/RF_GPU_class.py +165 -0
  83. gpbench/method_class/RF/RF_GPU_he_class.py +124 -0
  84. gpbench/method_class/RF/__init__.py +5 -0
  85. gpbench/method_class/SVC/SVC_GPU.py +181 -0
  86. gpbench/method_class/SVC/SVC_GPU_he.py +106 -0
  87. gpbench/method_class/SVC/__init__.py +5 -0
  88. gpbench/method_class/SoyDNGP/AlexNet_206_class.py +179 -0
  89. gpbench/method_class/SoyDNGP/SoyDNGP_class.py +189 -0
  90. gpbench/method_class/SoyDNGP/SoyDNGP_he_class.py +112 -0
  91. gpbench/method_class/SoyDNGP/__init__.py +5 -0
  92. gpbench/method_class/XGBoost/XGboost_GPU_class.py +198 -0
  93. gpbench/method_class/XGBoost/XGboost_GPU_he_class.py +178 -0
  94. gpbench/method_class/XGBoost/__init__.py +5 -0
  95. gpbench/method_class/__init__.py +52 -0
  96. gpbench/method_class/rrBLUP/__init__.py +5 -0
  97. gpbench/method_class/rrBLUP/rrBLUP_class.py +140 -0
  98. gpbench/method_reg/BayesA/BayesA.py +116 -0
  99. gpbench/method_reg/BayesA/__init__.py +5 -0
  100. gpbench/method_reg/BayesA/_bayesfromR.py +96 -0
  101. gpbench/method_reg/BayesA/_param_free_base_model.py +84 -0
  102. gpbench/method_reg/BayesA/bayesAfromR.py +16 -0
  103. gpbench/method_reg/BayesB/BayesB.py +117 -0
  104. gpbench/method_reg/BayesB/__init__.py +5 -0
  105. gpbench/method_reg/BayesB/_bayesfromR.py +96 -0
  106. gpbench/method_reg/BayesB/_param_free_base_model.py +84 -0
  107. gpbench/method_reg/BayesB/bayesBfromR.py +16 -0
  108. gpbench/method_reg/BayesC/BayesC.py +115 -0
  109. gpbench/method_reg/BayesC/__init__.py +5 -0
  110. gpbench/method_reg/BayesC/_bayesfromR.py +96 -0
  111. gpbench/method_reg/BayesC/_param_free_base_model.py +84 -0
  112. gpbench/method_reg/BayesC/bayesCfromR.py +16 -0
  113. gpbench/method_reg/CropARNet/CropARNet.py +159 -0
  114. gpbench/method_reg/CropARNet/CropARNet_Hyperparameters.py +109 -0
  115. gpbench/method_reg/CropARNet/__init__.py +5 -0
  116. gpbench/method_reg/CropARNet/base_CropARNet.py +137 -0
  117. gpbench/method_reg/Cropformer/Cropformer.py +313 -0
  118. gpbench/method_reg/Cropformer/Cropformer_Hyperparameters.py +250 -0
  119. gpbench/method_reg/Cropformer/__init__.py +5 -0
  120. gpbench/method_reg/DL_GWAS/DL_GWAS.py +186 -0
  121. gpbench/method_reg/DL_GWAS/DL_GWAS_Hyperparameters.py +125 -0
  122. gpbench/method_reg/DL_GWAS/__init__.py +5 -0
  123. gpbench/method_reg/DNNGP/DNNGP.py +157 -0
  124. gpbench/method_reg/DNNGP/DNNGP_Hyperparameters.py +118 -0
  125. gpbench/method_reg/DNNGP/__init__.py +5 -0
  126. gpbench/method_reg/DNNGP/base_dnngp.py +101 -0
  127. gpbench/method_reg/DeepCCR/DeepCCR.py +149 -0
  128. gpbench/method_reg/DeepCCR/DeepCCR_Hyperparameters.py +110 -0
  129. gpbench/method_reg/DeepCCR/__init__.py +5 -0
  130. gpbench/method_reg/DeepCCR/base_DeepCCR.py +171 -0
  131. gpbench/method_reg/DeepGS/DeepGS.py +165 -0
  132. gpbench/method_reg/DeepGS/DeepGS_Hyperparameters.py +114 -0
  133. gpbench/method_reg/DeepGS/__init__.py +5 -0
  134. gpbench/method_reg/DeepGS/base_deepgs.py +98 -0
  135. gpbench/method_reg/EIR/EIR.py +258 -0
  136. gpbench/method_reg/EIR/EIR_Hyperparameters.py +178 -0
  137. gpbench/method_reg/EIR/__init__.py +5 -0
  138. gpbench/method_reg/EIR/utils/__init__.py +0 -0
  139. gpbench/method_reg/EIR/utils/array_output_modules.py +97 -0
  140. gpbench/method_reg/EIR/utils/common.py +65 -0
  141. gpbench/method_reg/EIR/utils/lcl_layers.py +235 -0
  142. gpbench/method_reg/EIR/utils/logging.py +59 -0
  143. gpbench/method_reg/EIR/utils/mlp_layers.py +92 -0
  144. gpbench/method_reg/EIR/utils/models_locally_connected.py +642 -0
  145. gpbench/method_reg/EIR/utils/transformer_models.py +546 -0
  146. gpbench/method_reg/ElasticNet/ElasticNet.py +123 -0
  147. gpbench/method_reg/ElasticNet/ElasticNet_he.py +83 -0
  148. gpbench/method_reg/ElasticNet/__init__.py +5 -0
  149. gpbench/method_reg/G2PDeep/G2PDeep_Hyperparameters.py +107 -0
  150. gpbench/method_reg/G2PDeep/G2Pdeep.py +166 -0
  151. gpbench/method_reg/G2PDeep/__init__.py +5 -0
  152. gpbench/method_reg/G2PDeep/base_G2PDeep.py +209 -0
  153. gpbench/method_reg/GBLUP/GBLUP_R.py +182 -0
  154. gpbench/method_reg/GBLUP/__init__.py +5 -0
  155. gpbench/method_reg/GEFormer/GEFormer.py +164 -0
  156. gpbench/method_reg/GEFormer/GEFormer_Hyperparameters.py +106 -0
  157. gpbench/method_reg/GEFormer/__init__.py +5 -0
  158. gpbench/method_reg/GEFormer/gMLP.py +341 -0
  159. gpbench/method_reg/LightGBM/LightGBM.py +237 -0
  160. gpbench/method_reg/LightGBM/LightGBM_Hyperparameters.py +77 -0
  161. gpbench/method_reg/LightGBM/__init__.py +5 -0
  162. gpbench/method_reg/MVP/MVP.py +182 -0
  163. gpbench/method_reg/MVP/MVP_Hyperparameters.py +126 -0
  164. gpbench/method_reg/MVP/__init__.py +5 -0
  165. gpbench/method_reg/MVP/base_MVP.py +113 -0
  166. gpbench/method_reg/RF/RF_GPU.py +174 -0
  167. gpbench/method_reg/RF/RF_Hyperparameters.py +163 -0
  168. gpbench/method_reg/RF/__init__.py +5 -0
  169. gpbench/method_reg/SVC/SVC_GPU.py +194 -0
  170. gpbench/method_reg/SVC/SVC_Hyperparameters.py +107 -0
  171. gpbench/method_reg/SVC/__init__.py +5 -0
  172. gpbench/method_reg/SoyDNGP/AlexNet_206.py +185 -0
  173. gpbench/method_reg/SoyDNGP/SoyDNGP.py +179 -0
  174. gpbench/method_reg/SoyDNGP/SoyDNGP_Hyperparameters.py +105 -0
  175. gpbench/method_reg/SoyDNGP/__init__.py +5 -0
  176. gpbench/method_reg/XGBoost/XGboost_GPU.py +188 -0
  177. gpbench/method_reg/XGBoost/XGboost_Hyperparameters.py +167 -0
  178. gpbench/method_reg/XGBoost/__init__.py +5 -0
  179. gpbench/method_reg/__init__.py +55 -0
  180. gpbench/method_reg/rrBLUP/__init__.py +5 -0
  181. gpbench/method_reg/rrBLUP/rrBLUP.py +123 -0
  182. gpbench-1.0.0.dist-info/METADATA +379 -0
  183. gpbench-1.0.0.dist-info/RECORD +188 -0
  184. gpbench-1.0.0.dist-info/WHEEL +5 -0
  185. gpbench-1.0.0.dist-info/entry_points.txt +2 -0
  186. gpbench-1.0.0.dist-info/top_level.txt +3 -0
  187. tests/test_import.py +80 -0
  188. tests/test_method.py +232 -0
@@ -0,0 +1,188 @@
1
+ gp_agent_tool/compute_dataset_feature.py,sha256=VRsbCi8lB8u5e-JjITAL8djic1Kj663LdDqCXoJAN2I,2476
2
+ gp_agent_tool/config.py,sha256=2lfI4KmJxjCGjbwKKPIu2xBqib_e0sfGpX089mlhe1I,1536
3
+ gp_agent_tool/llm_client.py,sha256=0rv4pFJCmOuztWSgDPIENa_Xv1wn4jgsBPCAVFwN-eY,3288
4
+ gp_agent_tool/logging_utils.py,sha256=rnFXOwfge4T78bRUSCWNIY1Ihp80HKmZVEyG9MccRkg,686
5
+ gp_agent_tool/main.py,sha256=sD-se4JRiq1CMWqMuUckaEEZJLG0Vl2XWPfluo18PvE,12944
6
+ gp_agent_tool/experience/create_masked_dataset_summary.py,sha256=WMWliQRZQaOm2-hwSHGuv6DXB7pNjZJ8818oV5AMt0Y,3647
7
+ gp_agent_tool/experience/dataset_summary_info.py,sha256=Yo7JP8lfEUo0msEpA35GnZgSlIqpvzJXNbaLa5_G5L8,1169
8
+ gp_agent_tool/experience/experience_info.py,sha256=XgMZCvFdnVe5qFfd-8J6g8XOxMIb4covRFRDIYjBx5M,753
9
+ gp_agent_tool/experience/get_matched_experience.py,sha256=oswDpSeSI7wYpNeU6ZhX5Ze10mcduuv5kWiK2f4R77c,4139
10
+ gp_agent_tool/read_agent/__init__.py,sha256=28YxB0VsoI3p56u4g_vNmkSBea0baPdXaa6wXoiU8wo,1312
11
+ gp_agent_tool/read_agent/nodes.py,sha256=6QH2hO-5RD1S7xCLPDdaxk25kIh3TW3yxF63OMOaOpk,23607
12
+ gp_agent_tool/read_agent/prompts.py,sha256=KVmbxcHu2C_SfOreUZ1zBscps-dKje7rTdktrsOCg6s,23431
13
+ gp_agent_tool/read_agent/python_repl_tool.py,sha256=h2h7ms4Q1y7UjY7rGAH8H6XxiuNRLHsdXnJqsmWJdc8,5268
14
+ gp_agent_tool/read_agent/state.py,sha256=ip6XcRdefy8wgnTfnNvgB23tLPIxX-kNm27-0lk9nwo,2383
15
+ gp_agent_tool/read_agent/workflow.py,sha256=aRc_ZEUixKkUvJQE18WbAzuzott1ymkcrj7Bbr5sl8o,1282
16
+ gpbench/__init__.py,sha256=IiFpl4DieubR7lEJOPslkv92NNTWGN1ZqFCUFpXObkE,545
17
+ gpbench/_selftest.py,sha256=QHv0suKoJLI9PEvPX0w_LGNvcOUXKck3HgxlSLmF2Ho,3766
18
+ gpbench/method_class/__init__.py,sha256=ikP8hUhAow9QKAyoWjaiOc6-m5nkfIjS1xE3zllgv1A,1137
19
+ gpbench/method_class/BayesA/BayesA_class.py,sha256=PtF5C_NZy-23mbPcp42mLtdyJ1fzDICs3i8Lk2-Nj40,5622
20
+ gpbench/method_class/BayesA/__init__.py,sha256=2uFzRwG15JwTlj6GxTsFuv6Dd9IHIkeqx-fp6-PzCl4,102
21
+ gpbench/method_class/BayesA/_bayesfromR.py,sha256=TAXY7NISX-BeIWRP03lfXUo-spF0E7pgS8rhZ_1tKYQ,3620
22
+ gpbench/method_class/BayesA/_param_free_base_model.py,sha256=ea6_faicaKMHC1WXOefSrbggL_Ce1oi0YhmfpAdnIlQ,2780
23
+ gpbench/method_class/BayesA/bayesAfromR.py,sha256=d9p1T1WU66jKOMYeBX2BXOmAocORN3HW8vvIC6ZdgWY,419
24
+ gpbench/method_class/BayesB/BayesB_class.py,sha256=MJ3GL62YndCJU9Svb8MUIJ5xOkhzZWUJABWmrxSAnXQ,5603
25
+ gpbench/method_class/BayesB/__init__.py,sha256=C2h6Kw3uAOf9xRY3Rdq2SZv3T6S4H7M_5sThNdbtxkk,102
26
+ gpbench/method_class/BayesB/_bayesfromR.py,sha256=TAXY7NISX-BeIWRP03lfXUo-spF0E7pgS8rhZ_1tKYQ,3620
27
+ gpbench/method_class/BayesB/_param_free_base_model.py,sha256=ea6_faicaKMHC1WXOefSrbggL_Ce1oi0YhmfpAdnIlQ,2780
28
+ gpbench/method_class/BayesB/bayesBfromR.py,sha256=7QWL0RzJekGtBgvFpZ949ZbkCTBicR45PmtmGj-cuSs,419
29
+ gpbench/method_class/BayesC/BayesC_class.py,sha256=zPHwG_q5tj4iskgEiKK96wa61kVpfkOItz3qjkgUT1Y,5603
30
+ gpbench/method_class/BayesC/__init__.py,sha256=80qVuVgFBkB8z-lYtdU0xgUFfFhiDAkF2Z3NMh4c9mE,100
31
+ gpbench/method_class/BayesC/_bayesfromR.py,sha256=TAXY7NISX-BeIWRP03lfXUo-spF0E7pgS8rhZ_1tKYQ,3620
32
+ gpbench/method_class/BayesC/_param_free_base_model.py,sha256=ea6_faicaKMHC1WXOefSrbggL_Ce1oi0YhmfpAdnIlQ,2780
33
+ gpbench/method_class/BayesC/bayesCfromR.py,sha256=efGxR2AqPztdCZKIoXSkViye1k0I2VZzeIDEVqlls1k,419
34
+ gpbench/method_class/CropARNet/CropARNet_class.py,sha256=bSbEyGzBTTkf2uPGQcgcx2ORkx9fe8X9sAdsCqVsYWw,7114
35
+ gpbench/method_class/CropARNet/CropARNet_he_class.py,sha256=A8lXI-e2kiLKNgUYeErSpoXZYEgeWfzk1iXAGX_R6CQ,4947
36
+ gpbench/method_class/CropARNet/__init__.py,sha256=XU5Qj-VUjodoXlhbOQUB4V8UEY4_-eC6LAMSNLKuwgA,120
37
+ gpbench/method_class/CropARNet/base_CropARNet_class.py,sha256=9QsLx5kkAszneS482h-MO7JazmRSc_F5UaWR4lZWOfo,5801
38
+ gpbench/method_class/Cropformer/Cropformer_class.py,sha256=ewvyfS6ld6Ow1_v21DxmdQiUSwxTQrGhPkVL1pGWDB0,12575
39
+ gpbench/method_class/Cropformer/__init__.py,sha256=wLloDUA6-gAVwgUxNpkekGsyRMPv6ylD6OpvqfL8wQU,126
40
+ gpbench/method_class/Cropformer/cropformer_he_class.py,sha256=cORTZ0qxHcCFLJ_1sFChCTsNgn7FGjiUTy35h0V81b4,8981
41
+ gpbench/method_class/DL_GWAS/DL_GWAS_class.py,sha256=hFoi2_wQq17AygYfJPoTvp30z1rdRUi5tXu1cfQJcB8,8498
42
+ gpbench/method_class/DL_GWAS/DL_GWAS_he_class.py,sha256=_R1FulVYLVQMxkfsrWd6kOlZLgR3L-77e9MVXpw8yss,5119
43
+ gpbench/method_class/DL_GWAS/__init__.py,sha256=xGvy24fY1BL8wCqiUZHEjKIaarRkUY8SMTgSVU6JgUs,108
44
+ gpbench/method_class/DNNGP/DNNGP_class.py,sha256=tXmdgPZdh8K6zC5BufuqijhDuq1M-bGqTfrPjGrlBEs,6300
45
+ gpbench/method_class/DNNGP/DNNGP_he_class.py,sha256=AZM-qQqzGA0diPP_OuaYVBH1NEY66I4X4SZGsIrV5qk,4928
46
+ gpbench/method_class/DNNGP/__init__.py,sha256=MPxDmrMRt9SgHVzNMzWYVV1GIeApYPksWxxGLp79x4M,96
47
+ gpbench/method_class/DNNGP/base_dnngp_class.py,sha256=N5JN0sb8RsMkQ5cuCAZiWmKZTg3DHeruIWbijLAR3qQ,3549
48
+ gpbench/method_class/DeepCCR/DeepCCR_class.py,sha256=NxYU0cMDqaNlyguBzjT-xsq5uQs5afNZHCo51vodm_8,6428
49
+ gpbench/method_class/DeepCCR/DeepCCR_he_class.py,sha256=zkee4Hc7BvbkWSYbSMU0-E5u0-u8kVOesrYQt7yz8iY,4910
50
+ gpbench/method_class/DeepCCR/__init__.py,sha256=qmDeb24SrxrTFwcGgmxBAyMx0GKNNH3j4mkr2cfLM4c,108
51
+ gpbench/method_class/DeepCCR/base_DeepCCR_class.py,sha256=FgDcF7b_cZF6BuRqfIwiUBpmAvbo4XO4qYCmZOCmRjQ,6886
52
+ gpbench/method_class/DeepGS/DeepGS_class.py,sha256=hCXolYP5D9dM82K-bQZTP1uoBwuJ7dWndbG6_EeEfcU,6601
53
+ gpbench/method_class/DeepGS/DeepGS_he_class.py,sha256=EP3G0SvmFDbGV1QhlF2osuLq11XMiILwrixjxK7_Ltk,5199
54
+ gpbench/method_class/DeepGS/__init__.py,sha256=WLU2VVxLp5Q47Fp_GN5cDzXcAz6SEb-zY7JGzwqW1R8,102
55
+ gpbench/method_class/DeepGS/base_deepgs_class.py,sha256=JVjS_hItwpmHWvFLDomcwtLh7ZredVUfX6X_k4gya_8,4504
56
+ gpbench/method_class/EIR/EIR_class.py,sha256=Y6sHqHvfySZMTltXz_tXwY4iiODy09FbkR2s4VlSRI8,10949
57
+ gpbench/method_class/EIR/EIR_he_class.py,sha256=genGnfhOo2SfrKdfHeLPvRBcoQWNhvaEjS5L25Of06E,7646
58
+ gpbench/method_class/EIR/__init__.py,sha256=ha3-M2mWeEK9ZnabIH72NU2_45DHomXJJdzw0BRMDms,84
59
+ gpbench/method_class/EIR/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
+ gpbench/method_class/EIR/utils/array_output_modules.py,sha256=vGfGhcYalxwVrXi-094M7G8oCjadjsdAfpADEIq0HCY,3007
61
+ gpbench/method_class/EIR/utils/common.py,sha256=3SitP4Ec26yWQK5sf_mrSCs6V5-1rdI-pTFHp5m-L8s,2103
62
+ gpbench/method_class/EIR/utils/lcl_layers.py,sha256=cTjP_OWZQgca_tAeQoRqE9ugvTX0KXoYCzefk3-L4Io,7084
63
+ gpbench/method_class/EIR/utils/logging.py,sha256=VSSSHWsvKQdVd5aJedxEyLXcKdjNRWciV0_egC-N7xM,1889
64
+ gpbench/method_class/EIR/utils/mlp_layers.py,sha256=nDF1GIvPkN3ZsB0-mymcsZ2I50VKIYe9kZv_l2O1tU4,2476
65
+ gpbench/method_class/EIR/utils/models_locally_connected.py,sha256=SeSVf_MmFWkfRIRDJCSIf904A8ILsxbdbH5Wr4Wm2Qk,21387
66
+ gpbench/method_class/EIR/utils/transformer_models.py,sha256=KFFwN9x1nAMfDthtibvuAyWsxEibFma6ZL6lZ9Hv3mY,17515
67
+ gpbench/method_class/ElasticNet/ElasticNet_class.py,sha256=PY_O3U459eehMElVB1ENw-qpFlZqPIuzpqkD_bhpATY,5133
68
+ gpbench/method_class/ElasticNet/ElasticNet_he_class.py,sha256=MfVxtouGIDkCM2Lr293LcpnviMTqRE2nVCwnkotZ464,2995
69
+ gpbench/method_class/ElasticNet/__init__.py,sha256=v3eFRKRMlprQAFs0QcmgFYmVXHiiTFFg0-R8-85pwbU,126
70
+ gpbench/method_class/G2PDeep/G2PDeep_he_class.py,sha256=bEyyyXRanWptoBv2GyLjweEJzm3q0XEPXCBGGY5AK0o,8237
71
+ gpbench/method_class/G2PDeep/G2Pdeep_class.py,sha256=ZPo1KLYRC5LVKDjCMGSjLt3VrT22Nf8-bI5qdjdRez4,7940
72
+ gpbench/method_class/G2PDeep/__init__.py,sha256=ZSPkSgi30aFf1VzJ5AwG4CllH3QF2ecGuhhYEp8Vhyw,104
73
+ gpbench/method_class/G2PDeep/base_G2PDeep_class.py,sha256=uE6c2wEh2FvR8F0Me1khvVOpH4qY9dK9SNlHg4E1emE,8345
74
+ gpbench/method_class/GBLUP/GBLUP_class.py,sha256=rkfaE1sntjcpreh23F-hXCinMJ9AKiesgt7ObNO7NRM,6552
75
+ gpbench/method_class/GBLUP/__init__.py,sha256=Sw_J71fCBDVcXEJjvFwCeSmkekQE9BM_wf6S1kJMM88,92
76
+ gpbench/method_class/GEFormer/GEFormer_class.py,sha256=CNyCNt3IeHpGD-bIv5OPCT2rdk_Fyg0PvvKrlS0ckxM,6351
77
+ gpbench/method_class/GEFormer/GEFormer_he_class.py,sha256=VAHkAp0--FEsBPBGiEB7016EkFQceB8Qh3HqiiGeigI,4706
78
+ gpbench/method_class/GEFormer/__init__.py,sha256=PjOosVi7P1Fa39dgtW-m3uqvFrOpZTDOOTUaYE_b13k,110
79
+ gpbench/method_class/GEFormer/gMLP_class.py,sha256=MIn6IMRURa_X8AJ4kbb7v38gQDPmow_haEJDdJXQ830,10907
80
+ gpbench/method_class/LightGBM/LightGBM_class.py,sha256=-xM5yB00Pv0Sc04wG-LXd9RKAjagQjFUwbJxhwwdKRE,7859
81
+ gpbench/method_class/LightGBM/LightGBM_he_class.py,sha256=Gufgpv8HYc8jafUUE-1ymkyuBzEsH2Qm9sLjjcwFC6k,3825
82
+ gpbench/method_class/LightGBM/__init__.py,sha256=wmnib7Hcpvq--gJkp3esrR6wjw1O3Dsd_n2Zw-1iEJ4,110
83
+ gpbench/method_class/RF/RF_GPU_class.py,sha256=h4bcNoRm_y2CTr4jZJtPtWjzIm1_bwd_w0HMqSekeMQ,5407
84
+ gpbench/method_class/RF/RF_GPU_he_class.py,sha256=JC962y0HdbNH-uDco5vDEt3Y-18tq9x7xALqNqFpbd4,3919
85
+ gpbench/method_class/RF/__init__.py,sha256=uiTg3K68wOYBwupO6RpoYlC-lwIx-CvJn8iVK6IF5iE,78
86
+ gpbench/method_class/SVC/SVC_GPU.py,sha256=vZI9nrvPwMqf0tWaYwBOpwF54wH4xEHjWupoxffJ_C8,5891
87
+ gpbench/method_class/SVC/SVC_GPU_he.py,sha256=GoLbJhWWjLH-fNHqzIberzx-Va0RrRVWMmSfNS9mGYg,3404
88
+ gpbench/method_class/SVC/__init__.py,sha256=1_Z6-CVDhlx6aRfRwRqmUTYfu24VuD8JfJP8Zv62Pnc,78
89
+ gpbench/method_class/SoyDNGP/AlexNet_206_class.py,sha256=g56SHDhRsop5rucK50_qBSrFhAssVlE2ttBCl26oSmI,6526
90
+ gpbench/method_class/SoyDNGP/SoyDNGP_class.py,sha256=WeknKFLwUakXceLLZIbl7tFwFG729mSE55USqdxQU1s,7840
91
+ gpbench/method_class/SoyDNGP/SoyDNGP_he_class.py,sha256=QIdrEawonFSioxO50zRMLuBcITVsszDc_P1mb4BDOq4,4699
92
+ gpbench/method_class/SoyDNGP/__init__.py,sha256=W6rdqZY7--YmMvBwT70po77jfbhOZDQEJ-XieFV87T0,104
93
+ gpbench/method_class/XGBoost/XGboost_GPU_class.py,sha256=954uctuDuvOBSOmyb_8mD1_OAUFjfkKNjE_wu7uEkeo,7015
94
+ gpbench/method_class/XGBoost/XGboost_GPU_he_class.py,sha256=95ws5-emInqv_AKCgtljdb3SWMIpjeOZojX7K-mvoqI,5457
95
+ gpbench/method_class/XGBoost/__init__.py,sha256=PT4e26dHITn5ARvijQ6dtA7eVIrfMUTas2wdj-LaZzo,108
96
+ gpbench/method_class/rrBLUP/__init__.py,sha256=mfaIfv46KpcEIJWB-GiySnHRFCg7vb4MjLPzfoHHXJs,98
97
+ gpbench/method_class/rrBLUP/rrBLUP_class.py,sha256=-xankVBmF6YgMPuoctNlallTbT_XMixgDVlNp1o5iXU,5424
98
+ gpbench/method_reg/__init__.py,sha256=mJPHgcw-4-_-MmjVsQqmVz948bKSk6r7F_2rA1xgqWw,1150
99
+ gpbench/method_reg/BayesA/BayesA.py,sha256=vX1YB_CZ5A97Ir33PT4mg4Jb6lRLf7F1ZJh5d82VWSQ,4691
100
+ gpbench/method_reg/BayesA/__init__.py,sha256=hSndnWTuOdIFYvCxtQMQuyeBCwfwtQ4TrR3ZJuG9ILA,90
101
+ gpbench/method_reg/BayesA/_bayesfromR.py,sha256=TAXY7NISX-BeIWRP03lfXUo-spF0E7pgS8rhZ_1tKYQ,3620
102
+ gpbench/method_reg/BayesA/_param_free_base_model.py,sha256=ea6_faicaKMHC1WXOefSrbggL_Ce1oi0YhmfpAdnIlQ,2780
103
+ gpbench/method_reg/BayesA/bayesAfromR.py,sha256=d9p1T1WU66jKOMYeBX2BXOmAocORN3HW8vvIC6ZdgWY,419
104
+ gpbench/method_reg/BayesB/BayesB.py,sha256=1HRaVLFkGYcLMh9sPXk71D3B4dkurR-vLq7LNJTdbYw,4693
105
+ gpbench/method_reg/BayesB/__init__.py,sha256=GDSCyT8w-6a-_Gik0cH9eyCk_gNIFWmrEB7jPiecBR4,90
106
+ gpbench/method_reg/BayesB/_bayesfromR.py,sha256=TAXY7NISX-BeIWRP03lfXUo-spF0E7pgS8rhZ_1tKYQ,3620
107
+ gpbench/method_reg/BayesB/_param_free_base_model.py,sha256=ea6_faicaKMHC1WXOefSrbggL_Ce1oi0YhmfpAdnIlQ,2780
108
+ gpbench/method_reg/BayesB/bayesBfromR.py,sha256=7QWL0RzJekGtBgvFpZ949ZbkCTBicR45PmtmGj-cuSs,419
109
+ gpbench/method_reg/BayesC/BayesC.py,sha256=8yuv6fxgBUGjd3VWYhpRrMEc7HMg-koYPJ3tKtxdeck,4689
110
+ gpbench/method_reg/BayesC/__init__.py,sha256=NAG6y9zHNobtI0aJV0EvWY2PHJQOnmBsD0td3K51mu8,90
111
+ gpbench/method_reg/BayesC/_bayesfromR.py,sha256=TAXY7NISX-BeIWRP03lfXUo-spF0E7pgS8rhZ_1tKYQ,3620
112
+ gpbench/method_reg/BayesC/_param_free_base_model.py,sha256=ea6_faicaKMHC1WXOefSrbggL_Ce1oi0YhmfpAdnIlQ,2780
113
+ gpbench/method_reg/BayesC/bayesCfromR.py,sha256=LIfWQE-B7D_BSXZwgj4wdKMPm_veswPaWmz0WhABMXk,419
114
+ gpbench/method_reg/CropARNet/CropARNet.py,sha256=sFvBXd7LvGk-BlnqZqe5TKQMlVGb5VoxHRoiSeSgDZk,7109
115
+ gpbench/method_reg/CropARNet/CropARNet_Hyperparameters.py,sha256=i1u8MS_ml-GhXRcxdBJHf69HuFpRWideVR6p4oXS5vM,4360
116
+ gpbench/method_reg/CropARNet/__init__.py,sha256=2_IUPspIUZVmXFxQkS1uZcGd8uGAnUr6VZMB297Xvf8,104
117
+ gpbench/method_reg/CropARNet/base_CropARNet.py,sha256=s6tlIMSXvFim5ZuAJs4iBXeWkige4TqWF8lsv_Pfr8M,5458
118
+ gpbench/method_reg/Cropformer/Cropformer.py,sha256=A8k5Lusn7_0PBelJqq0j2niC_QlwILzOXWYDp4CkP4I,13662
119
+ gpbench/method_reg/Cropformer/Cropformer_Hyperparameters.py,sha256=0iuJ6jIbnR7U2iLizTUWWeyFDGFWUSU0woOTibcpSuE,10020
120
+ gpbench/method_reg/Cropformer/__init__.py,sha256=Q38ZmyOF0DUZd0J_zdEOIyco9tZWFtoWUZ-Y__ubLro,110
121
+ gpbench/method_reg/DL_GWAS/DL_GWAS.py,sha256=dkBmdZRS3xMBUQnsaUBhC6EfPVy3-AYD_d7UecQ0omk,8073
122
+ gpbench/method_reg/DL_GWAS/DL_GWAS_Hyperparameters.py,sha256=sJLhS5jaVYuLJJEh_Wm9Hamr00yiTjl_GNhnVzil5yI,5318
123
+ gpbench/method_reg/DL_GWAS/__init__.py,sha256=QHthY-I5krdGDoHXSVg04YlhGtMRtaXCI3X1DQl8FnY,92
124
+ gpbench/method_reg/DNNGP/DNNGP.py,sha256=Gy5N80bbtmGcO9lY-r3SS_0AIYU70EogQz2PSqMdLwo,7158
125
+ gpbench/method_reg/DNNGP/DNNGP_Hyperparameters.py,sha256=d6wE2jxkBsvrR2jXbERC5IPnzrBcqaPkEnX9X8YZ1yo,4847
126
+ gpbench/method_reg/DNNGP/__init__.py,sha256=Ms4HQoBVn9u1NU3-Xx2U88D27TbVBUDLe1s3j33p7Hk,80
127
+ gpbench/method_reg/DNNGP/base_dnngp.py,sha256=nemgBOV5pu-aqZlxItdzhdiOAiGSghPSu0gbF7AiJog,3536
128
+ gpbench/method_reg/DeepCCR/DeepCCR.py,sha256=LzNmVFDnBhha8aFlPH0GyavFtuzT-XvMCTQd66k6RLw,6652
129
+ gpbench/method_reg/DeepCCR/DeepCCR_Hyperparameters.py,sha256=rhuTjCclaABrdVi9nlEMkAMHVJTb0IIYJXZvJxFQaFo,4379
130
+ gpbench/method_reg/DeepCCR/__init__.py,sha256=9XUR5mhn9hnRw9IJf14YivqfjLkSmpf8Zw0Ol1x_K5g,92
131
+ gpbench/method_reg/DeepCCR/base_DeepCCR.py,sha256=qxUwfOByPJBOjdPtJJA3Fi3-oDpElBnw9MSCHqGFY5Q,6154
132
+ gpbench/method_reg/DeepGS/DeepGS.py,sha256=HZs9Bc1Aq-qhpxubeRsThS_cMdsWASJy0kVKRbYaQZI,7292
133
+ gpbench/method_reg/DeepGS/DeepGS_Hyperparameters.py,sha256=BrBRuhmRoWyTkP27idboJf_iGN1kTDiT9XAgyv-2dZw,4656
134
+ gpbench/method_reg/DeepGS/__init__.py,sha256=Y3NLFIKN3DDDBO0nX8XozN0CDu-ERzkpjoPOFyfbdb8,87
135
+ gpbench/method_reg/DeepGS/base_deepgs.py,sha256=BU7uadjnayQgL0IU13fy1W_m85jYUenLeTcj-rgF9mo,3598
136
+ gpbench/method_reg/EIR/EIR.py,sha256=WBzZ9WLXB52VVZfkU2t13XMPJ58j9MjJoXrfx7It_ZQ,9998
137
+ gpbench/method_reg/EIR/EIR_Hyperparameters.py,sha256=i-sHxmLXymuf9W2KFWKT80iXIq_6elH952102TjnRjg,6920
138
+ gpbench/method_reg/EIR/__init__.py,sha256=tey24sGDpLvgmR8h5UaQyY7bkBWxL5uohX17NGBz6tY,68
139
+ gpbench/method_reg/EIR/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
140
+ gpbench/method_reg/EIR/utils/array_output_modules.py,sha256=vGfGhcYalxwVrXi-094M7G8oCjadjsdAfpADEIq0HCY,3007
141
+ gpbench/method_reg/EIR/utils/common.py,sha256=3SitP4Ec26yWQK5sf_mrSCs6V5-1rdI-pTFHp5m-L8s,2103
142
+ gpbench/method_reg/EIR/utils/lcl_layers.py,sha256=cTjP_OWZQgca_tAeQoRqE9ugvTX0KXoYCzefk3-L4Io,7084
143
+ gpbench/method_reg/EIR/utils/logging.py,sha256=VSSSHWsvKQdVd5aJedxEyLXcKdjNRWciV0_egC-N7xM,1889
144
+ gpbench/method_reg/EIR/utils/mlp_layers.py,sha256=nDF1GIvPkN3ZsB0-mymcsZ2I50VKIYe9kZv_l2O1tU4,2476
145
+ gpbench/method_reg/EIR/utils/models_locally_connected.py,sha256=SeSVf_MmFWkfRIRDJCSIf904A8ILsxbdbH5Wr4Wm2Qk,21387
146
+ gpbench/method_reg/EIR/utils/transformer_models.py,sha256=KFFwN9x1nAMfDthtibvuAyWsxEibFma6ZL6lZ9Hv3mY,17515
147
+ gpbench/method_reg/ElasticNet/ElasticNet.py,sha256=RX-FDgJ7BXKP56wHBiyoV9GJaOISjfm-QXvhiamrYBQ,4849
148
+ gpbench/method_reg/ElasticNet/ElasticNet_he.py,sha256=LgtSoYSkLLrB5Wuo8UqfnVwGuq-feOrAw0oNwuZRPJQ,2815
149
+ gpbench/method_reg/ElasticNet/__init__.py,sha256=bQjF598ppOpvGsXa9QrresH9FDHjup9IYPnGlLIxZaU,110
150
+ gpbench/method_reg/G2PDeep/G2PDeep_Hyperparameters.py,sha256=N0FTWDjG_d-CRyCxDrrssln88SsWbwGjvjvoDy1NSC8,4274
151
+ gpbench/method_reg/G2PDeep/G2Pdeep.py,sha256=-45cI53NLC7lw7PFv8vcN2iicQW2pRpmkp68v8pWmPA,7077
152
+ gpbench/method_reg/G2PDeep/__init__.py,sha256=kq4pF7_oYLcfPMJMo5HASZXf4K4TNQRBnFQWrIepMxM,92
153
+ gpbench/method_reg/G2PDeep/base_G2PDeep.py,sha256=gzzvCV5FM2sfe0LoFDuZPVoaPB-mQ9xz_l8-nVE5mPo,8310
154
+ gpbench/method_reg/GBLUP/GBLUP_R.py,sha256=6YCO_I4_RubqsBlLWQ9asVPK0S21suFb_udO-gC8cHA,6239
155
+ gpbench/method_reg/GBLUP/__init__.py,sha256=pAPLEV3fFx2Uep5VyuNFILqkK9jp8UyzpAzZ-HREQeI,82
156
+ gpbench/method_reg/GEFormer/GEFormer.py,sha256=bZk5au9d1RuuweKEZRceHmxG8kYLz8d7QM2pUsK-o_0,7191
157
+ gpbench/method_reg/GEFormer/GEFormer_Hyperparameters.py,sha256=iGKN5a8UAY_cE-inljEQhAKRbTw4icFEZHEe7pAjJAo,4167
158
+ gpbench/method_reg/GEFormer/__init__.py,sha256=cXstHazg5duOtF9gcq-aOPvFSA45v0vCh4K64lRnc7E,98
159
+ gpbench/method_reg/GEFormer/gMLP.py,sha256=DrwVJR8Vk7-onS6UJtixhwT-AR8eVCsNIu74RyFYhCQ,10998
160
+ gpbench/method_reg/LightGBM/LightGBM.py,sha256=aiz31QRsye30WtOCF702V2YtgxUki4OkYxStYAun8J0,9329
161
+ gpbench/method_reg/LightGBM/LightGBM_Hyperparameters.py,sha256=OLiUnW-MYL_Q1XcNLQKuZFTLLAjD8ejmM4fNAt8MpB0,2601
162
+ gpbench/method_reg/LightGBM/__init__.py,sha256=oOYntShim3HISBD449gn82VvHieZZaPGcofIDP2BbHM,98
163
+ gpbench/method_reg/MVP/MVP.py,sha256=UAMzdJmFcrO7HWKw-Fa8we0sylqC765oP6UBaeHiUx8,7643
164
+ gpbench/method_reg/MVP/MVP_Hyperparameters.py,sha256=OMtPpwrvdZlSel73nGskj8MyHpzIgAlKmSpnkkE03Uo,5299
165
+ gpbench/method_reg/MVP/__init__.py,sha256=zWaXaZyvuPW_bqxbWn7mrUxeISl2UL8GHQ9xIgdzU2k,68
166
+ gpbench/method_reg/MVP/base_MVP.py,sha256=sKNzF0mmpeA8w5pDfh5rkXSgQ_Y7t46YKa4Kjl6mU_U,4083
167
+ gpbench/method_reg/RF/RF_GPU.py,sha256=2GkEIt673nhKqBkHLzARce5TQNn51l2F4p2nRJv0o7Q,6708
168
+ gpbench/method_reg/RF/RF_Hyperparameters.py,sha256=Gd2ks3-UznrJ0NN25IDihTKfx31l76G2NEy5Im-fB5o,6173
169
+ gpbench/method_reg/RF/__init__.py,sha256=NlouWRIHpTs9ijoObauWkWUtkf1jbhqvx6qaMqByLpg,66
170
+ gpbench/method_reg/SVC/SVC_GPU.py,sha256=WfECoM5lUQTU12eHNy3TqSc8z66GZgcx7wjRy9WcTQw,7266
171
+ gpbench/method_reg/SVC/SVC_Hyperparameters.py,sha256=tjONeY2x7T5H8kPAOuLlQVANuKc1k9YkJCZA2-5m9x0,3763
172
+ gpbench/method_reg/SVC/__init__.py,sha256=8j7gHNW05YcLrhLPXduomhyOPF4hhuh23hsc7bc6s1g,72
173
+ gpbench/method_reg/SoyDNGP/AlexNet_206.py,sha256=SWKW7N8d2nyk6QddixL68q5Vf_fqYv-Ys23AlH-0VzI,6601
174
+ gpbench/method_reg/SoyDNGP/SoyDNGP.py,sha256=JfFaE84kSpMtEFzH5fHuLyOrpD-NayEM2y5gjD8xy3s,7564
175
+ gpbench/method_reg/SoyDNGP/SoyDNGP_Hyperparameters.py,sha256=kZsoeWFWzydd5yJncmbg0r57qNIT7xY3Lo8CaJ-5Cck,4172
176
+ gpbench/method_reg/SoyDNGP/__init__.py,sha256=H51dB9zSefdqPaonYr1kjrSyXoYr85sN108-Lnu0glM,92
177
+ gpbench/method_reg/XGBoost/XGboost_GPU.py,sha256=KcxIRwG5yMN_Mi30KVRQvxMWdGps-HEsvWRrx0Lu7i0,7447
178
+ gpbench/method_reg/XGBoost/XGboost_Hyperparameters.py,sha256=OnFtbC_zovjZCC87memQiKu2y_gbh-YK1oTPnin5Vuk,6670
179
+ gpbench/method_reg/XGBoost/__init__.py,sha256=e1eXPMFo2UqjRhgNgiKRYzjWcQ-HxT-OaGxsDnLVJrg,96
180
+ gpbench/method_reg/rrBLUP/__init__.py,sha256=ZG6FKr-sr897VtArzVIbLIZSEDSSggPZhJUDrqgaxO8,86
181
+ gpbench/method_reg/rrBLUP/rrBLUP.py,sha256=KMx0Pr2Jc6ZWlcHnUItkWXohN_a3o05rsZ-rutXMaxQ,4870
182
+ tests/test_import.py,sha256=_BXEWpC6BgsE_FaHr-5bvUVCDOTFzcQDJxWRI97u8Qg,2879
183
+ tests/test_method.py,sha256=fSUbb81QlvAAHYshrM7XbIqp_HZHSetZ4CQJ0wRW4EM,7096
184
+ gpbench-1.0.0.dist-info/METADATA,sha256=j7bId41poFQHq2eYM_qEBh9g-1WONpW8eygn5QaQrBw,16166
185
+ gpbench-1.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
186
+ gpbench-1.0.0.dist-info/entry_points.txt,sha256=_1NVU9Xwq3MXXRlsoY4HdkW-B59MwAzxpzgAp4MWcOY,66
187
+ gpbench-1.0.0.dist-info/top_level.txt,sha256=611EqSOJNTvOwaH5ubGk84keZMPNK6KicXQiMYKB47A,28
188
+ gpbench-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ gpbench-agent = GPBench.gp_agent_tool.main:main
@@ -0,0 +1,3 @@
1
+ gp_agent_tool
2
+ gpbench
3
+ tests
tests/test_import.py ADDED
@@ -0,0 +1,80 @@
1
+ import importlib
2
+ import pytest
3
+
4
+
5
+ def _try_import(name: str, required: bool = True, reason: str = ""):
6
+ """
7
+ required=True: 导入失败 -> 直接失败(这类是必须依赖)
8
+ required=False: 导入失败 -> skip(这类是可选/平台相关依赖)
9
+ """
10
+ try:
11
+ return importlib.import_module(name)
12
+ except Exception as e:
13
+ msg = f"import {name} failed: {type(e).__name__}: {e}"
14
+ if required:
15
+ raise AssertionError(msg) from e
16
+ pytest.skip(reason or msg)
17
+
18
+ # ============================================================
19
+ # 1) 必须:本地包/目录必须能 import(安装/结构正确性)
20
+ # ============================================================
21
+
22
+ @pytest.mark.parametrize("pkg", [
23
+ "gpbench",
24
+ "method_reg",
25
+ "method_class",
26
+ ])
27
+ def test_import_local_packages(pkg):
28
+ """
29
+ 这些要能 import 的前提:
30
+ - 对应目录下存在 __init__.py
31
+ - 已执行 pip install -e .[dev]
32
+ """
33
+ _try_import(pkg, required=True)
34
+
35
+
36
+ # ============================================================
37
+ # 2) 必须:核心数值/科学计算栈(绝大多数方法都会用)
38
+ # ============================================================
39
+
40
+ @pytest.mark.parametrize("pkg", [
41
+ "numpy",
42
+ "pandas",
43
+ "scipy",
44
+ "sklearn", # scikit-learn 的 import 名是 sklearn
45
+ ])
46
+ def test_import_core_deps(pkg):
47
+ _try_import(pkg, required=True)
48
+
49
+
50
+ # ============================================================
51
+ # 3) 建议:训练相关(你项目里多方法可能会用,但个别机器可能不全)
52
+ # - torch / xgboost / lightgbm:通常很关键,建议 required=True
53
+ # ============================================================
54
+
55
+ @pytest.mark.parametrize("pkg", [
56
+ "torch",
57
+ "xgboost",
58
+ "lightgbm",
59
+ ])
60
+ def test_import_ml_deps(pkg):
61
+ _try_import(pkg, required=True)
62
+
63
+
64
+ # ============================================================
65
+ # 4) 可选:平台/系统/外部组件相关(容易因为机器环境不同而失败)
66
+ # 这些失败就 skip,不要直接让 A 阶段挂掉
67
+ # ============================================================
68
+
69
+ @pytest.mark.parametrize("pkg, reason", [
70
+ ("rpy2", "R 相关:需要系统有 R + 对应库,某些环境可能缺"),
71
+ ("tensorflow", "TF 相关:不同机器/驱动/GLIBC 可能不兼容,允许跳过"),
72
+ ("keras", "与 tensorflow 相关联,允许跳过"),
73
+ ("transformers", "大模型依赖链很长,某些机器可能不全,允许跳过"),
74
+ ("tokenizers", "transformers 相关,允许跳过"),
75
+ ("tiktoken", "LLM 相关,允许跳过"),
76
+ ("openai", "仅当需要调用 OpenAI API 时才必须,允许跳过"),
77
+ ("dashscope", "仅当需要调用 DashScope 时才必须,允许跳过"),
78
+ ])
79
+ def test_import_optional_deps(pkg, reason):
80
+ _try_import(pkg, required=False, reason=reason)
tests/test_method.py ADDED
@@ -0,0 +1,232 @@
1
+ import os
2
+ import re
3
+ import signal
4
+ import subprocess
5
+ import sys
6
+ import time
7
+ from pathlib import Path
8
+ from tqdm import tqdm
9
+
10
+ MAX_SECONDS = 180 # 每个脚本最多 3 分钟
11
+
12
+
13
+ def run_script(workdir: Path, script_name: str):
14
+ """
15
+ 冒烟短跑测试(适配缓冲输出问题):
16
+ - cd 到 workdir
17
+ - python -u 强制无缓冲输出
18
+ - 满足任一条件就终止:
19
+ 1) 输出包含 "Fold 5"
20
+ 2) stdout+stderr 总输出行数 >= 10
21
+ 3) 运行超过 RUNNING_OK_SECONDS 且未崩溃(代表脚本确实跑起来了)
22
+ - 不写入文件:测试端不创建文件;并通过环境变量提示脚本不要写文件(若脚本支持则生效)
23
+ """
24
+ script_path = workdir / script_name
25
+ assert script_path.exists(), f"脚本不存在: {script_path}"
26
+
27
+ env = os.environ.copy()
28
+ # 尽量阻止脚本写文件(脚本不支持也不影响)
29
+ env["SMOKE_TEST"] = "1"
30
+ env["NO_SAVE"] = "1"
31
+ env["NO_OUTPUT"] = "1"
32
+ env["SAVE"] = "0"
33
+ env["WRITE_FILES"] = "0"
34
+ env["EPOCHS"] = "1"
35
+ env["MAX_EPOCH"] = "1"
36
+
37
+ # ✅ 关键:-u 强制 unbuffered
38
+ cmd = [sys.executable, "-u", script_name]
39
+
40
+ p = subprocess.Popen(
41
+ cmd,
42
+ cwd=workdir,
43
+ stdout=subprocess.PIPE,
44
+ stderr=subprocess.PIPE,
45
+ text=True,
46
+ env=env,
47
+ )
48
+
49
+ stdout_lines = []
50
+ stderr_lines = []
51
+ start = time.time()
52
+
53
+ # ✅ 判定:匹配 Fold 1 或者运行到 MAX_SECONDS(3 分钟)且输出行数 >= 3
54
+ fold1_hit = False
55
+ total_lines = 0
56
+ # 匹配 "Fold 1"、"fold 1"、"===== Fold 1 =====" 等
57
+ FOLD1_PATTERN = re.compile(r"\bfold\s*1\b", re.IGNORECASE)
58
+ try:
59
+ while True:
60
+ elapsed = time.time() - start
61
+
62
+ # 进程结束
63
+ if p.poll() is not None:
64
+ break
65
+
66
+ # 超时保护
67
+ if elapsed > MAX_SECONDS:
68
+ p.send_signal(signal.SIGINT)
69
+ break
70
+
71
+ # 读 stdout 一行
72
+ if p.stdout:
73
+ line = p.stdout.readline()
74
+ if line:
75
+ s = line.strip()
76
+ stdout_lines.append(s)
77
+ total_lines += 1
78
+ if FOLD1_PATTERN.search(s):
79
+ fold1_hit = True
80
+
81
+ # 读 stderr 一行
82
+ if p.stderr:
83
+ err = p.stderr.readline()
84
+ if err:
85
+ s = err.strip()
86
+ stderr_lines.append(s)
87
+ total_lines += 1
88
+ if FOLD1_PATTERN.search(s):
89
+ fold1_hit = True
90
+
91
+ # 早停条件:匹配到 Fold 1(立即停止)
92
+ if fold1_hit:
93
+ p.send_signal(signal.SIGINT)
94
+ break
95
+
96
+ time.sleep(0.05)
97
+
98
+ # 等待退出(不强求一定优雅退出)
99
+ try:
100
+ p.wait(timeout=5)
101
+ except subprocess.TimeoutExpired:
102
+ p.kill()
103
+
104
+ finally:
105
+ if p.poll() is None:
106
+ p.kill()
107
+
108
+ elapsed = time.time() - start
109
+
110
+ debug_msg = (
111
+ f"\n运行脚本: {script_path}\n"
112
+ f"CMD: {' '.join(cmd)}\n"
113
+ f"CWD: {workdir}\n"
114
+ f"ReturnCode: {p.returncode}\n"
115
+ f"TOTAL lines: {total_lines}\n"
116
+ f"FOLD1 hit: {fold1_hit}\n"
117
+ f"ELAPSED: {elapsed:.1f}s\n"
118
+ f"--- STDOUT tail ---\n" + "\n".join(stdout_lines[-30:]) + "\n"
119
+ f"--- STDERR tail ---\n" + "\n".join(stderr_lines[-80:]) + "\n"
120
+ )
121
+
122
+ # ✅ 通过条件:匹配到 Fold 1,或运行到 MAX_SECONDS(3 分钟)且输出行数 >= 3
123
+ passed = fold1_hit or (elapsed >= MAX_SECONDS and total_lines >= 3)
124
+
125
+ assert passed, f"❌ 冒烟失败(未匹配 Fold 1,或运行 {MAX_SECONDS}s 后输出行数 < 3)\n{debug_msg}"
126
+
127
+
128
+
129
+ # ============================================================
130
+ # ✅ method_reg 测试用例列表
131
+ # ============================================================
132
+
133
+ METHOD_REG_CASES = [
134
+ ("BayesA", "BayesA.py"),
135
+ ("BayesB", "BayesB.py"),
136
+ ("BayesC", "BayesC.py"),
137
+ ("CropARNet", "CropARNet.py"),
138
+ ("Cropformer", "Cropformer.py"),
139
+ ("DeepCCR", "DeepCCR.py"),
140
+ ("DeepGS", "DeepGS.py"),
141
+ ("DL_GWAS", "DL_GWAS.py"),
142
+ ("DNNGP", "DNNGP.py"),
143
+ ("EIR", "EIR.py"),
144
+ ("ElasticNet", "ElasticNet.py"),
145
+ ("G2PDeep", "G2Pdeep.py"),
146
+ ("GBLUP", "GBLUP_R.py"),
147
+ ("GEFormer", "GEFormer.py"),
148
+ ("LightGBM", "LightGBM.py"),
149
+ ("MVP", "MVP.py"),
150
+ ("RF", "RF_GPU.py"),
151
+ ("rrBLUP", "rrBLUP.py"),
152
+ ("SoyDNGP", "SoyDNGP.py"),
153
+ ("SVR", "SVR_GPU.py"),
154
+ ("XGBoost", "XGboost_GPU.py"),
155
+ ]
156
+
157
+
158
+ def test_method_reg():
159
+ """
160
+ 冒烟测试:
161
+ 对 method_reg 下所有方法逐个短跑验证
162
+ """
163
+ # base_dir = Path("method_reg")
164
+ # total = len(METHOD_REG_CASES)
165
+
166
+ # for i, (folder, script) in enumerate(METHOD_REG_CASES, 1):
167
+ # print(f"\n[{i}/{total}] Testing {folder}/{script} ...")
168
+
169
+ # workdir = base_dir / folder
170
+ # run_script(workdir, script)
171
+
172
+
173
+ base_dir = Path("method_reg")
174
+ for folder, script in tqdm(
175
+ METHOD_REG_CASES,
176
+ desc="🚀 Testing method_reg",
177
+ unit="method",
178
+ file=sys.stderr, # ✅ 强制输出到 stderr(tqdm 默认也是 stderr,但这里显式指定更稳)
179
+ dynamic_ncols=True, # ✅ 自动适配终端宽度
180
+ leave=False, # ✅ 结束后保留进度条
181
+ mininterval=0.2, # ✅ 刷新频率
182
+ ):
183
+ workdir = base_dir / folder
184
+ run_script(workdir, script)
185
+
186
+
187
+
188
+ # ============================================================
189
+ # ✅ method_class 测试用例列表
190
+ # ============================================================
191
+
192
+ METHOD_CLASS_CASES = [
193
+ ("BayesA", "BayesA_class.py"),
194
+ ("BayesB", "BayesB_class.py"),
195
+ ("BayesC", "BayesC_class.py"),
196
+ ("CropARNet", "CropARNet_class.py"),
197
+ ("Cropformer", "Cropformer_class.py"),
198
+ ("DeepCCR", "DeepCCR_class.py"),
199
+ ("DeepGS", "DeepGS_class.py"),
200
+ ("DL_GWAS", "DL_GWAS_class.py"),
201
+ ("DNNGP", "DNNGP_class.py"),
202
+ ("EIR", "EIR_class.py"),
203
+ ("ElasticNet", "ElasticNet_class.py"),
204
+ ("G2PDeep", "G2Pdeep_class.py"),
205
+ ("GBLUP", "GBLUP_class.py"),
206
+ ("GEFormer", "GEFormer_class.py"),
207
+ ("LightGBM", "LightGBM_class.py"),
208
+ ("RF", "RF_GPU_class.py"),
209
+ ("rrBLUP", "rrBLUP_class.py"),
210
+ ("SoyDNGP", "SoyDNGP_class.py"),
211
+ ("SVR", "SVC_GPU.py"),
212
+ ("XGBoost", "XGboost_GPU_class.py"),
213
+ ]
214
+
215
+
216
+ def test_method_class():
217
+ """
218
+ 冒烟测试:
219
+ 对 method_class 下所有方法逐个短跑验证
220
+ """
221
+ base_dir = Path("method_class")
222
+ for folder, script in tqdm(
223
+ METHOD_CLASS_CASES,
224
+ desc="🚀 Testing method_class",
225
+ unit="method",
226
+ file=sys.stderr, # ✅ 强制输出到 stderr(tqdm 默认也是 stderr,但这里显式指定更稳)
227
+ dynamic_ncols=True, # ✅ 自动适配终端宽度
228
+ leave=False, # ✅ 结束后保留进度条
229
+ mininterval=0.2, # ✅ 刷新频率
230
+ ):
231
+ workdir = base_dir / folder
232
+ run_script(workdir, script)