mg-pso-gui 0.2.97__tar.gz → 0.2.98__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.
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/PKG-INFO +1 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mg_pso_gui.egg-info/PKG-INFO +1 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/General/ParameterView.py +43 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/HomePage.py +1 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/OptionManager.py +1 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/BoundsList.py +1 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/PSORunner.py +1 -223
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/setup.py +1 -1
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mg_pso_gui.egg-info/SOURCES.txt +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mg_pso_gui.egg-info/dependency_links.txt +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mg_pso_gui.egg-info/entry_points.txt +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mg_pso_gui.egg-info/requires.txt +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mg_pso_gui.egg-info/top_level.txt +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/General/NoticeWindow.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/General/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/OptionManager_backup.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/PlatformTab/PlatformTab.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/PlatformTab/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/RunTab/OptimalParameterView.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/RunTab/RunTab.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/RunTab/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/BoundsEditorWindow.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/CustomFunctionEditorWindow.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/CustomFunctionMetrics.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/FunctionsList.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/ListEditor.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/ListParametersView.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/OverrideParameterMetrics.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/OverrideParameterWindow.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/SamplingListView.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/SamplingNameListWindow.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/SetupTab.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/StepView.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/SetupTab/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/VisualizeTab/MatrixEditor.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/VisualizeTab/SideBar.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/VisualizeTab/VisualizeTab.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/VisualizeTab/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/defaults/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/defaults/optimization.json +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/defaults/sampling.json +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/defaults/sensitivity.json +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/collapse.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/down.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/expand.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/play.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/plus.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/refresh.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/refresh_hd.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/stop.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/test.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/trash.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/images/up.png +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/gui/messages/welcome.txt +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/mgpsogui.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/start.yaml +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/CTkToolTip/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/CTkToolTip/ctk_tooltip.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/GraphGenerator.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/debug.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/helpers.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/pso/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/pso/csip_access.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/pso/pso.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/halton/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/halton/halton.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/halton/prime.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/random/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/random/random_sampler.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/sample_trace_writer.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/sampler_task.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/sampling.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/utils/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/utils/plot/__init__.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/utils/plot/cost_steps.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/utils/trace_writer.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/utils/utils.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/sampler_test_driver.py +0 -0
- {mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/setup.cfg +0 -0
@@ -57,7 +57,7 @@ class ParameterView(CTkScrollableFrame):
|
|
57
57
|
CTkEntry(self.containerFrame, textvariable=self.key_values[index]["name"]).grid(row=row, column=0, columnspan=3, padx=(5, 5), pady=(5, 5), sticky="ew")
|
58
58
|
|
59
59
|
if self.edit_mode and not required:
|
60
|
-
type_menu = CTkOptionMenu(self.containerFrame, variable=self.key_values[index]["type"], values=["integer", "float", "date", "boolean", "string"], width=20)
|
60
|
+
type_menu = CTkOptionMenu(self.containerFrame, variable=self.key_values[index]["type"], values=["integer", "float", "date", "datetime", "boolean", "string"], width=20)
|
61
61
|
type_menu.grid(row=row, column=3, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
62
62
|
|
63
63
|
dest_menu = CTkOptionMenu(self.containerFrame, variable=self.key_values[index]["destination"], values=["args", "kwargs", "conf", "options", "oh_strategy", "metainfo"], width=20)
|
@@ -73,6 +73,48 @@ class ParameterView(CTkScrollableFrame):
|
|
73
73
|
if type == "boolean":
|
74
74
|
bb = CTkOptionMenu(self.containerFrame, values=["True", "False", "NULL"], variable=self.key_values[index]["value"])
|
75
75
|
bb.grid(row=row, column=3, columnspan=3, padx=(5, 5), pady=(5, 5), sticky="ew")
|
76
|
+
elif type == "datetime":
|
77
|
+
om_text_var = self.key_values[index]["value"]
|
78
|
+
year = sv()
|
79
|
+
month = sv()
|
80
|
+
day = sv()
|
81
|
+
hour = sv()
|
82
|
+
minute = sv()
|
83
|
+
second = sv()
|
84
|
+
date_time = om_text_var.get().split(" ")
|
85
|
+
vv = date_time[0].split("-")
|
86
|
+
ss = date_time[1].split(":")
|
87
|
+
year.set(vv[0])
|
88
|
+
month.set(vv[1])
|
89
|
+
day.set(vv[2])
|
90
|
+
hour.set(ss[0])
|
91
|
+
minute.set(ss[1])
|
92
|
+
second.set(ss[2])
|
93
|
+
year_options = [str(i) for i in range(1999, 2030)]
|
94
|
+
month_options = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"]
|
95
|
+
day_options = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"]
|
96
|
+
hour_options = [str(i) for i in range(0, 24)]
|
97
|
+
minute_options = [str(i) for i in range(0, 60)]
|
98
|
+
second_options = [str(i) for i in range(0, 60)]
|
99
|
+
|
100
|
+
update_date = lambda om_text_var=om_text_var, year=year, month=month, day=day: om_text_var.set(f"{year.get()}-{month.get()}-{day.get()} {hour.get()}:{minute.get()}:{second.get()}")
|
101
|
+
|
102
|
+
datetime_module = CTkFrame(self.containerFrame)
|
103
|
+
datetime_module.grid(row=row, column=3, columnspan=3, padx=(5, 5), pady=(5, 5), sticky="ew")
|
104
|
+
|
105
|
+
year_menu = CTkOptionMenu(datetime_module, variable=year, values=year_options, width=50, command=update_date)
|
106
|
+
year_menu.grid(row=0, column=0, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
107
|
+
month_menu = CTkOptionMenu(datetime_module, variable=month, values=month_options, width=20, command=update_date)
|
108
|
+
month_menu.grid(row=0, column=1, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
109
|
+
day_menu = CTkOptionMenu(datetime_module, variable=day, values=day_options, width=20, command=update_date)
|
110
|
+
day_menu.grid(row=0, column=2, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
111
|
+
hour_menu = CTkOptionMenu(datetime_module, variable=hour, values=hour_options, width=20, command=update_date)
|
112
|
+
hour_menu.grid(row=1, column=0, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
113
|
+
minute_menu = CTkOptionMenu(datetime_module, variable=minute, values=minute_options, width=20, command=update_date)
|
114
|
+
minute_menu.grid(row=1, column=1, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
115
|
+
second_menu = CTkOptionMenu(datetime_module, variable=second, values=second_options, width=20, command=update_date)
|
116
|
+
second_menu.grid(row=1, column=2, columnspan=1, padx=(0, 0), pady=(5, 5), sticky="ew")
|
117
|
+
|
76
118
|
elif type == "date":
|
77
119
|
om_text_var = self.key_values[index]["value"]
|
78
120
|
year = sv()
|
@@ -415,7 +415,7 @@ class App(customtkinter.CTk):
|
|
415
415
|
#self.progress_message_middle.configure(text="Job starting...")
|
416
416
|
self.footer_progress_label.configure(text="Starting...")
|
417
417
|
|
418
|
-
self.textbox.insert("0.0", "Starting job...\n\n")
|
418
|
+
self.textbox.insert("0.0", "Starting job of " + mode + "...\n\n")
|
419
419
|
self.textbox.insert("0.0", "Job Parameters:\n")
|
420
420
|
self.textbox.insert("0.0", json.dumps(data, indent=4) + "\n\n")
|
421
421
|
try:
|
@@ -105,7 +105,7 @@ class BoundsList(CTkFrame):
|
|
105
105
|
tt2 = None
|
106
106
|
tt3 = None
|
107
107
|
|
108
|
-
tt = CTkOptionMenu(self.containerFrame, dynamic_resizing=False, values=['float', '
|
108
|
+
tt = CTkOptionMenu(self.containerFrame, dynamic_resizing=False, values=['float', 'list', 'custom'], variable=bound["type"], command=self.refresh)
|
109
109
|
#command = lambda _, index=index, option=tt: (self.update_type(index, option))
|
110
110
|
#tt.configure(command=command)
|
111
111
|
#tt.set(bound["type"].get())
|
@@ -468,226 +468,4 @@ def sensitivity_analysis(url, request_file, trace_file, output_directory):
|
|
468
468
|
exit(1)
|
469
469
|
|
470
470
|
if result.is_finished():
|
471
|
-
download_output(result, output_directory)
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
"""
|
489
|
-
def run_process_old(stdout_queue, stderr_queue, results_queue, data, folder):
|
490
|
-
steps = data['steps']
|
491
|
-
args = data['arguments']
|
492
|
-
calib = data['calibration_parameters']
|
493
|
-
|
494
|
-
my_mode = args["mode"]
|
495
|
-
|
496
|
-
# If "mode" in args remove it
|
497
|
-
if "mode" in args:
|
498
|
-
del args["mode"]
|
499
|
-
|
500
|
-
calibration_map = {}
|
501
|
-
for param in calib:
|
502
|
-
param_name = param['name']
|
503
|
-
param_value = param['value']
|
504
|
-
calibration_map[param_name] = param_value
|
505
|
-
|
506
|
-
if not os.path.exists(folder):
|
507
|
-
os.makedirs(folder)
|
508
|
-
|
509
|
-
if not os.path.exists(os.path.join(folder, "results")):
|
510
|
-
os.makedirs(os.path.join(folder, "results"))
|
511
|
-
|
512
|
-
if (os.path.exists(os.path.join(folder, 'output.txt'))):
|
513
|
-
os.remove(os.path.join(folder, 'output.txt'))
|
514
|
-
|
515
|
-
if (os.path.exists(os.path.join(folder, 'error.txt'))):
|
516
|
-
os.remove(os.path.join(folder, 'error.txt'))
|
517
|
-
|
518
|
-
old_stdout = sys.stdout
|
519
|
-
old_stderr = sys.stderr
|
520
|
-
|
521
|
-
read_stdout, write_stdout = os.pipe()
|
522
|
-
read_stderr, write_stderr = os.pipe()
|
523
|
-
|
524
|
-
sys.stdout = os.fdopen(write_stdout, 'w')
|
525
|
-
sys.stderr = os.fdopen(write_stderr, 'w')
|
526
|
-
|
527
|
-
stdout_thread = threading.Thread(target=enqueue_output, args=(os.fdopen(read_stdout, 'r'), stdout_queue))
|
528
|
-
stderr_thread = threading.Thread(target=enqueue_output, args=(os.fdopen(read_stderr, 'r'), stderr_queue))
|
529
|
-
stdout_thread.daemon = True
|
530
|
-
stderr_thread.daemon = True
|
531
|
-
stdout_thread.start()
|
532
|
-
stderr_thread.start()
|
533
|
-
|
534
|
-
try:
|
535
|
-
|
536
|
-
options = {}
|
537
|
-
oh_strategy = {}
|
538
|
-
|
539
|
-
for key in calibration_map.keys():
|
540
|
-
if "options_" in key:
|
541
|
-
options[key.replace("options_", "")] = float(calibration_map[key])
|
542
|
-
if "strategy_" in key:
|
543
|
-
oh_strategy[key.replace("strategy_", "")] = calibration_map[key]
|
544
|
-
|
545
|
-
config = {}
|
546
|
-
|
547
|
-
if my_mode == "Sampling":
|
548
|
-
config = {
|
549
|
-
'service_timeout': int(calibration_map['service_timeout']),
|
550
|
-
'http_retry': int(calibration_map['http_retry']),
|
551
|
-
'allow_redirects': True if calibration_map['allow_redirects'] == "True" else False,
|
552
|
-
'async_call': True if calibration_map['async_call'] == "True" else False,
|
553
|
-
'conn_timeout': int(calibration_map['conn_timeout']),
|
554
|
-
'read_timeout': int(calibration_map['read_timeout']),
|
555
|
-
'step_trace': os.path.join(folder, 'pso_step_trace.json')
|
556
|
-
}
|
557
|
-
elif my_mode == "Optimization":
|
558
|
-
config = {
|
559
|
-
'service_timeout': int(calibration_map['service_timeout']),
|
560
|
-
'http_retry': int(calibration_map['http_retry']),
|
561
|
-
'http_allow_redirects': True if calibration_map['allow_redirects'] == "True" else False,
|
562
|
-
'async_call': True if calibration_map['async_call'] == "True" else False,
|
563
|
-
'http_conn_timeout': int(calibration_map['conn_timeout']),
|
564
|
-
'http_read_timeout': int(calibration_map['read_timeout']),
|
565
|
-
'particles_fail': int(calibration_map['particles_fail']),
|
566
|
-
'step_trace': os.path.join(folder, 'pso_step_trace.json')
|
567
|
-
}
|
568
|
-
|
569
|
-
print("\n")
|
570
|
-
print(steps)
|
571
|
-
print("\n")
|
572
|
-
print(args)
|
573
|
-
print("\n")
|
574
|
-
print(calibration_map)
|
575
|
-
print("\n")
|
576
|
-
print(options)
|
577
|
-
print("\n")
|
578
|
-
print(oh_strategy)
|
579
|
-
print("\n")
|
580
|
-
print(config)
|
581
|
-
print("\n", flush=True)
|
582
|
-
|
583
|
-
if my_mode == "Sampling: Halton":
|
584
|
-
print("Running Halton Sampling..\n", flush=True)
|
585
|
-
trace = run_sampler(steps,
|
586
|
-
args,
|
587
|
-
int(calibration_map['count']),
|
588
|
-
int(calibration_map['num_threads']),
|
589
|
-
"halton",
|
590
|
-
conf=config,
|
591
|
-
trace_file=os.path.join(folder, 'results', 'halton_trace.csv'),
|
592
|
-
offset=int(calibration_map['offset']))
|
593
|
-
results_queue.put(trace)
|
594
|
-
print(trace, flush=True)
|
595
|
-
print("\n", flush=True)
|
596
|
-
|
597
|
-
elif my_mode == "Sampling: Random":
|
598
|
-
print("Running Random Sampling...\n", flush=True)
|
599
|
-
trace = run_sampler(steps,
|
600
|
-
args,
|
601
|
-
int(calibration_map['count']),
|
602
|
-
int(calibration_map['num_threads']),
|
603
|
-
"random",
|
604
|
-
conf=config,
|
605
|
-
trace_file=os.path.join(folder, 'results', 'random_trace.csv'))
|
606
|
-
results_queue.put(trace)
|
607
|
-
print(trace, flush=True)
|
608
|
-
print("\n", flush=True)
|
609
|
-
|
610
|
-
elif my_mode == "Sensitivity Analysis":
|
611
|
-
|
612
|
-
print("Running Sensitivity Analysis", flush=True)
|
613
|
-
|
614
|
-
shutil.copyfile(data["sensitivity_analysis_path"], os.path.join(folder, 'results', 'trace.csv'))
|
615
|
-
trace_path = os.path.join(folder, 'results', 'trace.csv')
|
616
|
-
|
617
|
-
# Get list of parameters from steps
|
618
|
-
parameters = []
|
619
|
-
for param in steps[0]['param']:
|
620
|
-
parameters.append(param['name'])
|
621
|
-
|
622
|
-
request_json = {
|
623
|
-
"metainfo": {
|
624
|
-
"service_url": None,
|
625
|
-
"description": "",
|
626
|
-
"name": "",
|
627
|
-
"mode": "async"
|
628
|
-
},
|
629
|
-
"parameter": [
|
630
|
-
{
|
631
|
-
"name": "parameters",
|
632
|
-
"value": parameters
|
633
|
-
},
|
634
|
-
{
|
635
|
-
"name": "positiveBestMetrics",
|
636
|
-
"value": ["ns","kge","mns","kge09","nslog2"]
|
637
|
-
},
|
638
|
-
{
|
639
|
-
"name": "zeroBestMetrics",
|
640
|
-
"value": ["pbias","rmse"]
|
641
|
-
}
|
642
|
-
]
|
643
|
-
}
|
644
|
-
|
645
|
-
with open(os.path.join(folder, 'results', 'request.json'), 'w') as json_file:
|
646
|
-
json.dump(request_json, json_file, indent=4)
|
647
|
-
|
648
|
-
request_path = os.path.join(folder, 'results', 'request.json')
|
649
|
-
|
650
|
-
output_directory = os.path.join(folder, 'results')
|
651
|
-
|
652
|
-
print("Starting ", args['url'], request_path, trace_path, output_directory, flush=True)
|
653
|
-
|
654
|
-
sensitivity_analysis(args['url'], request_path, trace_path, output_directory)
|
655
|
-
|
656
|
-
print("Finished Sensitivity Analysis", flush=True)
|
657
|
-
else:
|
658
|
-
print("Running MG-PSO Optimization...\n", flush=True)
|
659
|
-
optimizer, trace = global_best(steps,
|
660
|
-
rounds=(int(calibration_map['min_rounds']), int(calibration_map['max_rounds'])),
|
661
|
-
args=args,
|
662
|
-
n_particles=int(calibration_map['n_particles']),
|
663
|
-
iters=int(calibration_map['iters']),
|
664
|
-
n_threads=int(calibration_map['n_threads']),
|
665
|
-
options=options,
|
666
|
-
oh_strategy=oh_strategy,
|
667
|
-
conf=config
|
668
|
-
)
|
669
|
-
|
670
|
-
results_queue.put(trace)
|
671
|
-
print(trace, flush=True)
|
672
|
-
|
673
|
-
print("Finishing up...", flush=True)
|
674
|
-
time.sleep(5)
|
675
|
-
except Exception as e:
|
676
|
-
print("An exception occurred: ", flush=True)
|
677
|
-
print(str(e))
|
678
|
-
# Print stack trace
|
679
|
-
import traceback
|
680
|
-
traceback.print_exc()
|
681
|
-
|
682
|
-
# Write all of this information to a crash file
|
683
|
-
with open(os.path.join(folder, 'crash.txt'), 'w') as f:
|
684
|
-
f.write(str(e))
|
685
|
-
f.write("\n")
|
686
|
-
traceback.print_exc(file=f)
|
687
|
-
finally:
|
688
|
-
stdout_thread.join()
|
689
|
-
stderr_thread.join()
|
690
|
-
|
691
|
-
sys.stdout = old_stdout
|
692
|
-
sys.stderr = old_stderr
|
693
|
-
"""
|
471
|
+
download_output(result, output_directory)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/random/random_sampler.py
RENAMED
File without changes
|
{mg_pso_gui-0.2.97 → mg_pso_gui-0.2.98}/mgpsogui/util/recosu/sampling/sample_trace_writer.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|