mg-pso-gui 0.1.140__tar.gz → 0.1.141__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 (69) hide show
  1. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/PKG-INFO +1 -1
  2. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mg_pso_gui.egg-info/PKG-INFO +1 -1
  3. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/HomePage.py +7 -1
  4. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/PSORunner.py +11 -11
  5. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/helpers.py +17 -0
  6. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/setup.py +1 -1
  7. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
  8. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
  9. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mg_pso_gui.egg-info/entry_points.txt +0 -0
  10. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mg_pso_gui.egg-info/requires.txt +0 -0
  11. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mg_pso_gui.egg-info/top_level.txt +0 -0
  12. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/__init__.py +0 -0
  13. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/OptionManager.py +0 -0
  14. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
  15. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
  16. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/RunTab/RunTab.py +0 -0
  17. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/RunTab/__init__.py +0 -0
  18. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
  19. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/BoundsList.py +0 -0
  20. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/CalibrationParametersView.py +0 -0
  21. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
  22. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
  23. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/OptimalParameterView.py +0 -0
  24. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
  25. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/StaticParameterView.py +0 -0
  26. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/StepView.py +0 -0
  27. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/SetupTab/__init__.py +0 -0
  28. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
  29. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
  30. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
  31. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/__init__.py +0 -0
  32. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/IGOW 4 Logo.png +0 -0
  33. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/collapse.png +0 -0
  34. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/down.png +0 -0
  35. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/expand.png +0 -0
  36. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/play.png +0 -0
  37. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/refresh.png +0 -0
  38. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/refresh_hd.png +0 -0
  39. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/stop.png +0 -0
  40. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/test.png +0 -0
  41. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/trash.png +0 -0
  42. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/gui/images/up.png +0 -0
  43. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/mgpsogui.py +0 -0
  44. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/start.yaml +0 -0
  45. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
  46. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
  47. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/GraphGenerator.py +0 -0
  48. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/__init__.py +0 -0
  49. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/debug.py +0 -0
  50. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/__init__.py +0 -0
  51. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/pso/__init__.py +0 -0
  52. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
  53. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/pso/pso.py +0 -0
  54. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/__init__.py +0 -0
  55. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
  56. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/halton/halton.py +0 -0
  57. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/halton/prime.py +0 -0
  58. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
  59. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/random/random_sampler.py +0 -0
  60. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
  61. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
  62. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/sampling/sampling.py +0 -0
  63. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/utils/__init__.py +0 -0
  64. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
  65. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
  66. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
  67. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/recosu/utils/utils.py +0 -0
  68. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/mgpsogui/util/sampler_test_driver.py +0 -0
  69. {mg-pso-gui-0.1.140 → mg-pso-gui-0.1.141}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.140
3
+ Version: 0.1.141
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mg-pso-gui
3
- Version: 0.1.140
3
+ Version: 0.1.141
4
4
  Summary: GUI for MG-PSO
5
5
  Author: Robert Cordingly
6
6
  Author-email: <rcording@uw.ed>
@@ -546,7 +546,13 @@ class App(customtkinter.CTk):
546
546
 
547
547
  if (os.path.exists(os.path.join(folder, 'error.txt'))):
548
548
 
549
- data = hp.parse_pso_error(os.path.join(folder, 'error.txt'), len(self.option_manager.get_steps()))
549
+
550
+ mode = self.option_manager.get_arguments()['mode'].get()
551
+
552
+ if mode == "Optimization: MG-PSO":
553
+ data = hp.parse_pso_error(os.path.join(folder, 'error.txt'), len(self.option_manager.get_steps()))
554
+ else:
555
+ data = hp.parse_sampling_output(os.path.join(folder, 'output.txt'))
550
556
  self.progress_data = data["data"]
551
557
  self.footer_progress_bar.stop()
552
558
  self.footer_progress_bar.configure(mode="determinate")
@@ -102,34 +102,34 @@ def run_process(stdout_queue, stderr_queue, results_queue, data, folder):
102
102
  print(oh_strategy)
103
103
  print("\n")
104
104
  print(config)
105
- print("\n")
105
+ print("\n", flush=True)
106
106
 
107
107
  if my_mode == "Sampling: Halton":
108
- print("Running Halton Sampling..\n")
108
+ print("Running Halton Sampling..\n", flush=True)
109
109
  trace = run_sampler(steps,
110
110
  args,
111
111
  int(calibration_map['count']),
112
112
  int(calibration_map['num_threads']),
113
113
  "halton",
114
114
  conf=config,
115
- trace_file="halton_trace.csv",
115
+ trace_file=os.path.join(folder, 'halton_trace.txt'),
116
116
  offset=int(calibration_map['offset']))
117
117
  results_queue.put(trace)
118
- print(trace)
118
+ print(trace, flush=True)
119
119
 
120
120
  elif my_mode == "Sampling: Random":
121
- print("Running Random Sampling...\n")
121
+ print("Running Random Sampling...\n", flush=True)
122
122
  trace = run_sampler(steps,
123
123
  args,
124
124
  int(calibration_map['count']),
125
125
  int(calibration_map['num_threads']),
126
126
  "random",
127
127
  conf=config,
128
- trace_file="random_trace.csv")
128
+ trace_file=os.path.join(folder, 'random_trace.txt'))
129
129
  results_queue.put(trace)
130
- print(trace)
130
+ print(trace, flush=True)
131
131
  else:
132
- print("Running MG-PSO Optimization...\n")
132
+ print("Running MG-PSO Optimization...\n", flush=True)
133
133
  optimizer, trace = global_best(steps,
134
134
  rounds=(int(calibration_map['min_rounds']), int(calibration_map['max_rounds'])),
135
135
  args=args,
@@ -142,12 +142,12 @@ def run_process(stdout_queue, stderr_queue, results_queue, data, folder):
142
142
  )
143
143
 
144
144
  results_queue.put(trace)
145
- print(trace)
145
+ print(trace, flush=True)
146
146
 
147
- print("Finishing up...")
147
+ print("Finishing up...", flush=True)
148
148
  time.sleep(5)
149
149
  except Exception as e:
150
- print("An exception occurred: ")
150
+ print("An exception occurred: ", flush=True)
151
151
  print(str(e))
152
152
  # Print stack trace
153
153
  import traceback
@@ -21,6 +21,23 @@ def extract_final_round_values(data):
21
21
  final_value["index"] = key
22
22
  return final_value
23
23
 
24
+ def parse_sampling_output(file_path):
25
+ lines = ""
26
+
27
+ with open(file_path, 'r') as f:
28
+ lines = f.readlines()
29
+
30
+ # Remove any lines that don't contain "% Done "
31
+ lines = [line for line in lines if '% Done ' in line]
32
+
33
+ percents = []
34
+ percent = 0
35
+ for line in lines:
36
+ percent = float(line.split('% Done ')[0].strip())
37
+ percents.append(percent)
38
+
39
+ return {"percent": percent, "data": percents}
40
+
24
41
  def parse_pso_error(file_path, num_steps):
25
42
  lines = ""
26
43
 
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
  import codecs
3
3
  import os
4
4
 
5
- VERSION = '0.1.140'
5
+ VERSION = '0.1.141'
6
6
  DESCRIPTION = 'GUI for MG-PSO'
7
7
  LONG_DESCRIPTION = open('../README.md').read()
8
8
 
File without changes