mg-pso-gui 0.1.107__py3-none-any.whl → 0.1.109__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.107
3
+ Version: 0.1.109
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -33,7 +33,7 @@ mgpsogui/gui/images/test.png,sha256=MUnVpRK-isxhEHzx4Q6Yh0M6FRZD1qvgCHH2XmiSBbk,
33
33
  mgpsogui/gui/images/trash.png,sha256=j8cf0kWbJd-4Jp20lUVV1o1NSeQ4v1Ej4gfcIA3DVRQ,2958
34
34
  mgpsogui/gui/images/up.png,sha256=AQvFWCUqSQNaQ1E6LKZ9zNfSvW6t4mgy8uswdg9T2Hg,2457
35
35
  mgpsogui/util/GraphGenerator.py,sha256=HhUsFUFhCv3wTYV8CTqU0wo56Ph9c1DocPj25AVIAdI,15076
36
- mgpsogui/util/PSORunner.py,sha256=xximtpisXKtXWtjlT9jTdOjPZNCfnWXC7xuAi_etuC8,3535
36
+ mgpsogui/util/PSORunner.py,sha256=Do3-OUH7iZGL6aoCcwsM-6lxof8ERwyKA-_g8rDr_DM,3942
37
37
  mgpsogui/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
38
  mgpsogui/util/debug.py,sha256=R-OBdE7XH5ejfDGoOHIgKr-TomzFy-jPvUhVzhSbzm0,5159
39
39
  mgpsogui/util/CTkToolTip/__init__.py,sha256=G1jxV55hGtGgwyC1sR-uUUdasDdh0XZgcI-aILgGYA0,225
@@ -41,14 +41,14 @@ mgpsogui/util/CTkToolTip/ctk_tooltip.py,sha256=SZMovpQIGvdpDRbqCKl9SHs92DrFCO2MO
41
41
  mgpsogui/util/recosu/__init__.py,sha256=T7_iigIlowGbPOHLO3hwihjw2kbwIg6olOMhFhNiL38,236
42
42
  mgpsogui/util/recosu/pso/__init__.py,sha256=PQ548aEKVOk6MMzxxDg7yMO_1hHfoEoYLLkGLeij73Y,247
43
43
  mgpsogui/util/recosu/pso/csip_access.py,sha256=jBli1MSShUUwQCMKOUvMaGuNwBViCrjXJi_FmSEJsZA,2721
44
- mgpsogui/util/recosu/pso/pso.py,sha256=JN4nJcQRw_XAPfdUQSJx60HARCBB5V-hz7toTe_vSbQ,12867
44
+ mgpsogui/util/recosu/pso/pso.py,sha256=D5UhgIR9gD1lVF_OjGkvun-zctWRlofHeMvlJhazEaI,13667
45
45
  mgpsogui/util/recosu/utils/__init__.py,sha256=TXz_TpNif2GeGu22pzTnkUQvaP-PmLQ9Sz4BgMIS6ig,196
46
46
  mgpsogui/util/recosu/utils/trace_writer.py,sha256=V9BJlOjCbNYGoXGEk3CF5wjifBxvarrMRXJMbDBWqI8,3023
47
47
  mgpsogui/util/recosu/utils/utils.py,sha256=QB8vftq3142ekG0ORjz0ZBHU5YknXbR0oTsrxrPAsF0,3951
48
48
  mgpsogui/util/recosu/utils/plot/__init__.py,sha256=h1KjM7_tNDv351pcwt8A6Ibb1jhwWyx5Gbu-zj-sI3Q,71
49
49
  mgpsogui/util/recosu/utils/plot/cost_steps.py,sha256=1Ce11AJyweWkmvjXPxEygzS-h8yVLmQEDLS53yjPLqQ,3779
50
- mg_pso_gui-0.1.107.dist-info/METADATA,sha256=XI6EjVCh872bujkdZdK76sHiy3ZT_T0qtEiDk7jcYNI,9459
51
- mg_pso_gui-0.1.107.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
52
- mg_pso_gui-0.1.107.dist-info/entry_points.txt,sha256=jg82VOFjR1XDGrchs1wJSCqKYE4Ozv12aBcCSp--koA,117
53
- mg_pso_gui-0.1.107.dist-info/top_level.txt,sha256=y7JuS9xJN5YdxUsQ3PSVjN8MzQAnR146bP3ZN3PYWdE,9
54
- mg_pso_gui-0.1.107.dist-info/RECORD,,
50
+ mg_pso_gui-0.1.109.dist-info/METADATA,sha256=ByqRMvtrHClBmhkGdQvpb0puilL4eh9ZAsErz4Dhrco,9459
51
+ mg_pso_gui-0.1.109.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
52
+ mg_pso_gui-0.1.109.dist-info/entry_points.txt,sha256=jg82VOFjR1XDGrchs1wJSCqKYE4Ozv12aBcCSp--koA,117
53
+ mg_pso_gui-0.1.109.dist-info/top_level.txt,sha256=y7JuS9xJN5YdxUsQ3PSVjN8MzQAnR146bP3ZN3PYWdE,9
54
+ mg_pso_gui-0.1.109.dist-info/RECORD,,
@@ -47,73 +47,77 @@ def run_process(stdout_queue, stderr_queue, results_queue, cosu_queue, data, fol
47
47
  sys.stdout = os.fdopen(write_stdout, 'w')
48
48
  sys.stderr = os.fdopen(write_stderr, 'w')
49
49
 
50
- stdour_thread = threading.Thread(target=enqueue_output, args=(os.fdopen(read_stdout, 'r'), stdout_queue))
50
+ stdout_thread = threading.Thread(target=enqueue_output, args=(os.fdopen(read_stdout, 'r'), stdout_queue))
51
51
  stderr_thread = threading.Thread(target=enqueue_output, args=(os.fdopen(read_stderr, 'r'), stderr_queue))
52
- stdour_thread.daemon = True
52
+ stdout_thread.daemon = True
53
53
  stderr_thread.daemon = True
54
- stdour_thread.start()
54
+ stdout_thread.start()
55
55
  stderr_thread.start()
56
56
 
57
- options = {}
58
- oh_strategy = {}
59
-
60
- for key in calibration_map.keys():
61
- if "options_" in key:
62
- options[key.replace("options_", "")] = float(calibration_map[key])
63
- if "strategy_" in key:
64
- oh_strategy[key.replace("strategy_", "")] = calibration_map[key]
65
-
66
- config = {
67
- 'service_timeout': int(calibration_map['service_timeout']),
68
- 'http_retry': int(calibration_map['http_retry']),
69
- 'http_allow_redirects': True if calibration_map['allow_redirects'] == "True" else False,
70
- 'async_call': True if calibration_map['async_call'] == "True" else False,
71
- 'http_conn_timeout': int(calibration_map['conn_timeout']),
72
- 'http_read_timeout': int(calibration_map['read_timeout']),
73
- 'particles_fail': int(calibration_map['particles_fail']),
74
- 'step_trace': os.path.join(folder, 'step_trace.json')
75
- }
76
-
77
- print("\n")
78
- print(steps)
79
- print("\n")
80
- print(args)
81
- print("\n")
82
- print(calibration_map)
83
- print("\n")
84
- print(options)
85
- print("\n")
86
- print(oh_strategy)
87
- print("\n")
88
- print(config)
89
- print("\n")
90
-
57
+ try:
58
+
59
+ options = {}
60
+ oh_strategy = {}
61
+
62
+ for key in calibration_map.keys():
63
+ if "options_" in key:
64
+ options[key.replace("options_", "")] = float(calibration_map[key])
65
+ if "strategy_" in key:
66
+ oh_strategy[key.replace("strategy_", "")] = calibration_map[key]
91
67
 
92
-
93
- print("Running global_best...\n")
68
+ config = {
69
+ 'service_timeout': int(calibration_map['service_timeout']),
70
+ 'http_retry': int(calibration_map['http_retry']),
71
+ 'http_allow_redirects': True if calibration_map['allow_redirects'] == "True" else False,
72
+ 'async_call': True if calibration_map['async_call'] == "True" else False,
73
+ 'http_conn_timeout': int(calibration_map['conn_timeout']),
74
+ 'http_read_timeout': int(calibration_map['read_timeout']),
75
+ 'particles_fail': int(calibration_map['particles_fail']),
76
+ 'step_trace': os.path.join(folder, 'step_trace.json')
77
+ }
94
78
 
79
+ print("\n")
80
+ print(steps)
81
+ print("\n")
82
+ print(args)
83
+ print("\n")
84
+ print(calibration_map)
85
+ print("\n")
86
+ print(options)
87
+ print("\n")
88
+ print(oh_strategy)
89
+ print("\n")
90
+ print(config)
91
+ print("\n")
95
92
 
93
+ print("Running global_best...\n")
96
94
 
97
- optimizer, trace = global_best(steps,
98
- rounds=(int(calibration_map['min_rounds']), int(calibration_map['max_rounds'])),
99
- args=args,
100
- n_particles=int(calibration_map['n_particles']),
101
- iters=int(calibration_map['iters']),
102
- n_threads=int(calibration_map['n_threads']),
103
- # ftol=0.00000001,
104
- options=options,
105
- oh_strategy=oh_strategy,
106
- conf=config
107
- )
108
-
109
- results_queue.put(trace)
110
- print(trace)
111
-
112
- print("Finishing up...")
113
- time.sleep(5)
114
-
115
- stdour_thread.join()
116
- stderr_thread.join()
117
-
118
- sys.stdout = old_stdout
119
- sys.stderr = old_stderr
95
+ optimizer, trace = global_best(steps,
96
+ rounds=(int(calibration_map['min_rounds']), int(calibration_map['max_rounds'])),
97
+ args=args,
98
+ n_particles=int(calibration_map['n_particles']),
99
+ iters=int(calibration_map['iters']),
100
+ n_threads=int(calibration_map['n_threads']),
101
+ # ftol=0.00000001,
102
+ options=options,
103
+ oh_strategy=oh_strategy,
104
+ conf=config
105
+ )
106
+
107
+ results_queue.put(trace)
108
+ print(trace)
109
+
110
+ print("Finishing up...")
111
+ time.sleep(5)
112
+ except Exception as e:
113
+ print("An exception occurred: ")
114
+ print(str(e))
115
+ # Print stack trace
116
+ import traceback
117
+ traceback.print_exc()
118
+ finally:
119
+ stdout_thread.join()
120
+ stderr_thread.join()
121
+
122
+ sys.stdout = old_stdout
123
+ sys.stderr = old_stderr
@@ -168,7 +168,15 @@ def global_best(steps: Dict, rounds: Tuple, args: Dict, n_particles: int, iters:
168
168
  step_trace['min_rounds'] = min_rounds
169
169
  step_trace['max_rounds'] = max_rounds
170
170
  step_trace['iters'] = iters
171
- #step_trace['ftol'] = ftol BUG DOES NOT HANDLE -INF
171
+
172
+ # BUG If ftol is -inf set it to a string
173
+ ftol_value = ftol
174
+ if ftol == -np.inf:
175
+ ftol_value = '-inf'
176
+ elif ftol == np.inf:
177
+ ftol_value = 'inf'
178
+
179
+ step_trace['ftol'] = ftol_value
172
180
  step_trace['ftol_iter'] = ftol_iter
173
181
  step_trace['rtol'] = rtol
174
182
  step_trace['rtol_iter'] = rtol_iter
@@ -176,7 +184,7 @@ def global_best(steps: Dict, rounds: Tuple, args: Dict, n_particles: int, iters:
176
184
  step_trace['n_particles'] = n_particles
177
185
  step_trace['n_steps'] = len(steps)
178
186
  step_trace['steps'] = copy.deepcopy(steps)
179
- #step_trace['args'] = args BUG MUST BE REMOVED
187
+ step_trace['args'] = str(args) #BUG MUST BE REMOVED
180
188
 
181
189
  if step_file is not None:
182
190
  with open(step_file, "w") as fo:
@@ -277,7 +285,15 @@ def global_best(steps: Dict, rounds: Tuple, args: Dict, n_particles: int, iters:
277
285
  step_trace[key] = {}
278
286
  step_trace[key]['time'] = str(datetime.datetime.now())
279
287
 
280
- step_trace[key]['best_costs'] = best_cost.tolist() # BUG
288
+ best_costs_list = best_cost.tolist()
289
+ # If the cost is inf, set it to a string
290
+ for i, c in enumerate(best_costs_list):
291
+ if c == np.inf:
292
+ best_costs_list[i] = 'inf'
293
+ elif c == -np.inf:
294
+ best_costs_list[i] = '-inf'
295
+
296
+ step_trace[key]['best_costs'] = best_costs_list # BUG
281
297
  step_trace[key]['steps'] = copy.deepcopy(steps)
282
298
 
283
299
  if step_file is not None:
@@ -314,7 +330,16 @@ def global_best(steps: Dict, rounds: Tuple, args: Dict, n_particles: int, iters:
314
330
  step_trace[key] = {}
315
331
  step_trace[key]['time'] = str(datetime.datetime.now())
316
332
  step_trace[key]['round_cost'] = round_cost
317
- step_trace[key]['best_costs'] = best_cost.tolist()
333
+
334
+ best_costs_list = best_cost.tolist() #BUG
335
+ # If the cost is inf, set it to a string
336
+ for i, c in enumerate(best_costs_list):
337
+ if c == np.inf:
338
+ best_costs_list[i] = 'inf'
339
+ elif c == -np.inf:
340
+ best_costs_list[i] = '-inf'
341
+
342
+ step_trace[key]['best_costs'] = best_costs_list
318
343
  step_trace[key]['improvements'] = no_improvement.tolist()
319
344
  if step_file is not None:
320
345
  with open(step_file, "w") as fo: