omniopt2 7263__py3-none-any.whl → 7277__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.
- .colorfunctions.sh +0 -1
- .omniopt.py +42 -32
- .shellscript_functions +7 -32
- omniopt +3 -4
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.colorfunctions.sh +0 -1
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt.py +42 -32
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.shellscript_functions +7 -32
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/omniopt +3 -4
- {omniopt2-7263.dist-info → omniopt2-7277.dist-info}/METADATA +1 -1
- {omniopt2-7263.dist-info → omniopt2-7277.dist-info}/RECORD +38 -38
- omniopt2.egg-info/PKG-INFO +1 -1
- pyproject.toml +1 -1
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.general.sh +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.helpers.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_cpu_ram_usage.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_general.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_gpu_usage.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_kde.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_scatter.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_scatter_generation_method.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_scatter_hex.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_time_and_exit_code.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_trial_index_result.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_worker.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.random_generator.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/.tpe.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/LICENSE +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/apt-dependencies.txt +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/omniopt_docker +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/omniopt_evaluate +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/omniopt_plot +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/omniopt_share +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/requirements.txt +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/setup.py +0 -0
- {omniopt2-7263.data → omniopt2-7277.data}/data/bin/test_requirements.txt +0 -0
- {omniopt2-7263.dist-info → omniopt2-7277.dist-info}/WHEEL +0 -0
- {omniopt2-7263.dist-info → omniopt2-7277.dist-info}/licenses/LICENSE +0 -0
- {omniopt2-7263.dist-info → omniopt2-7277.dist-info}/top_level.txt +0 -0
.colorfunctions.sh
CHANGED
.omniopt.py
CHANGED
@@ -613,7 +613,7 @@ class ConfigLoader:
|
|
613
613
|
run_mode: str
|
614
614
|
|
615
615
|
@beartype
|
616
|
-
def __init__(self, _parsing_arguments_loader) -> None:
|
616
|
+
def __init__(self: Any, _parsing_arguments_loader: Any) -> None:
|
617
617
|
self.parser = argparse.ArgumentParser(
|
618
618
|
prog="omniopt",
|
619
619
|
description='A hyperparameter optimizer for slurm-based HPC-systems',
|
@@ -629,7 +629,7 @@ class ConfigLoader:
|
|
629
629
|
self.add_arguments()
|
630
630
|
|
631
631
|
@beartype
|
632
|
-
def add_arguments(self) -> None:
|
632
|
+
def add_arguments(self: Any) -> None:
|
633
633
|
required = self.parser.add_argument_group('Required arguments', 'These options have to be set')
|
634
634
|
required_but_choice = self.parser.add_argument_group('Required arguments that allow a choice', 'Of these arguments, one has to be set to continue')
|
635
635
|
optional = self.parser.add_argument_group('Optional', 'These options are optional')
|
@@ -1780,14 +1780,15 @@ def live_share(force: bool = False) -> bool:
|
|
1780
1780
|
if not get_current_run_folder():
|
1781
1781
|
return False
|
1782
1782
|
|
1783
|
-
|
1783
|
+
if SHOWN_LIVE_SHARE_COUNTER == 0:
|
1784
|
+
stdout, stderr = run_live_share_command(force)
|
1784
1785
|
|
1785
|
-
|
1786
|
-
|
1786
|
+
if stderr:
|
1787
|
+
print_green(stderr)
|
1787
1788
|
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1789
|
+
extract_and_print_qr(stderr)
|
1790
|
+
else:
|
1791
|
+
stdout, stderr = run_live_share_command(force)
|
1791
1792
|
|
1792
1793
|
SHOWN_LIVE_SHARE_COUNTER = SHOWN_LIVE_SHARE_COUNTER + 1
|
1793
1794
|
except KeyboardInterrupt:
|
@@ -3300,23 +3301,29 @@ def find_file_paths_and_print_infos(_text: str, program_code: str) -> str:
|
|
3300
3301
|
return string
|
3301
3302
|
|
3302
3303
|
@beartype
|
3303
|
-
def write_failed_logs(data_dict: dict, error_description: str = "") -> None:
|
3304
|
-
headers =
|
3305
|
-
data = [
|
3304
|
+
def write_failed_logs(data_dict: Optional[dict], error_description: str = "") -> None:
|
3305
|
+
headers = []
|
3306
|
+
data = []
|
3307
|
+
|
3308
|
+
if data_dict is not None:
|
3309
|
+
headers = list(data_dict.keys())
|
3310
|
+
data = [list(data_dict.values())]
|
3311
|
+
else:
|
3312
|
+
print_debug("No data_dict provided, writing only error description.")
|
3313
|
+
data = [[]] # leeres Datenfeld, nur error_description kommt dazu
|
3306
3314
|
|
3307
3315
|
if error_description:
|
3308
3316
|
headers.append('error_description')
|
3309
3317
|
for row in data:
|
3310
3318
|
row.append(error_description)
|
3311
3319
|
|
3312
|
-
failed_logs_dir = os.path.join(get_current_run_folder(), 'failed_logs')
|
3313
|
-
|
3314
|
-
data_file_path = os.path.join(failed_logs_dir, 'parameters.csv')
|
3315
|
-
header_file_path = os.path.join(failed_logs_dir, 'headers.csv')
|
3316
|
-
|
3317
3320
|
try:
|
3321
|
+
failed_logs_dir = os.path.join(get_current_run_folder(), 'failed_logs')
|
3318
3322
|
makedirs(failed_logs_dir)
|
3319
3323
|
|
3324
|
+
header_file_path = os.path.join(failed_logs_dir, 'headers.csv')
|
3325
|
+
data_file_path = os.path.join(failed_logs_dir, 'parameters.csv')
|
3326
|
+
|
3320
3327
|
if not os.path.exists(header_file_path):
|
3321
3328
|
try:
|
3322
3329
|
with open(header_file_path, mode='w', encoding='utf-8', newline='') as header_file:
|
@@ -3327,11 +3334,10 @@ def write_failed_logs(data_dict: dict, error_description: str = "") -> None:
|
|
3327
3334
|
print_red(f"Failed to write header file: {e}")
|
3328
3335
|
|
3329
3336
|
try:
|
3330
|
-
with open(data_file_path, mode='a', encoding=
|
3337
|
+
with open(data_file_path, mode='a', encoding='utf-8', newline='') as data_file:
|
3331
3338
|
writer = csv.writer(data_file)
|
3332
3339
|
writer.writerows(data)
|
3333
3340
|
print_debug(f"Data appended to file: {data_file_path}")
|
3334
|
-
|
3335
3341
|
except Exception as e:
|
3336
3342
|
print_red(f"Failed to append data to file: {e}")
|
3337
3343
|
|
@@ -3613,7 +3619,15 @@ def _write_job_infos_csv_build_values(start_time: Union[int, float], end_time: U
|
|
3613
3619
|
|
3614
3620
|
@beartype
|
3615
3621
|
def _write_job_infos_csv_replace_none_with_str(elements: Optional[List[str]]) -> List[str]:
|
3616
|
-
|
3622
|
+
if elements is None:
|
3623
|
+
return []
|
3624
|
+
result = []
|
3625
|
+
for element in elements:
|
3626
|
+
if element is None:
|
3627
|
+
result.append('None')
|
3628
|
+
else:
|
3629
|
+
result.append(element)
|
3630
|
+
return result
|
3617
3631
|
|
3618
3632
|
@beartype
|
3619
3633
|
def print_evaluate_times() -> None:
|
@@ -3802,8 +3816,8 @@ def _evaluate_create_signal_map() -> Dict[str, type[BaseException]]:
|
|
3802
3816
|
@beartype
|
3803
3817
|
def _evaluate_handle_result(
|
3804
3818
|
stdout: str,
|
3805
|
-
result: Union[int, float, dict, list],
|
3806
|
-
parameters: dict
|
3819
|
+
result: Optional[Union[int, float, dict, list]],
|
3820
|
+
parameters: Optional[dict]
|
3807
3821
|
) -> Dict[str, Optional[Union[float, Tuple]]]:
|
3808
3822
|
final_result: Dict[str, Optional[Union[float, Tuple]]] = {}
|
3809
3823
|
|
@@ -3856,17 +3870,15 @@ def pretty_process_output(stdout_path: str, stderr_path: str, exit_code: Optiona
|
|
3856
3870
|
def is_nonempty(s: Optional[str]) -> bool:
|
3857
3871
|
return bool(s and s.strip())
|
3858
3872
|
|
3859
|
-
if is_nonempty(stdout_txt):
|
3873
|
+
if is_nonempty(stdout_txt) and stdout_txt is not None:
|
3860
3874
|
console.rule(Text(f" {stdout_path} ", style=header_style))
|
3861
|
-
|
3862
|
-
|
3863
|
-
)
|
3875
|
+
panel = Panel(stdout_txt, title="STDOUT", border_style="cyan", padding=(0, 1))
|
3876
|
+
console.print(panel)
|
3864
3877
|
|
3865
|
-
if is_nonempty(stderr_txt):
|
3878
|
+
if is_nonempty(stderr_txt) and stderr_txt is not None:
|
3866
3879
|
console.rule(Text(f" {stderr_path} ", style=header_style))
|
3867
|
-
|
3868
|
-
|
3869
|
-
)
|
3880
|
+
panel = Panel(stderr_txt, title="STDERR", border_style="magenta", padding=(0, 1))
|
3881
|
+
console.print(panel)
|
3870
3882
|
|
3871
3883
|
if not (is_nonempty(stdout_txt) or is_nonempty(stderr_txt)):
|
3872
3884
|
print("\n")
|
@@ -4571,8 +4583,6 @@ def show_end_table_and_save_end_files() -> int:
|
|
4571
4583
|
|
4572
4584
|
display_failed_jobs_table()
|
4573
4585
|
|
4574
|
-
best_result_exit = 0
|
4575
|
-
|
4576
4586
|
best_result_exit: int = print_best_result()
|
4577
4587
|
|
4578
4588
|
if not args.dryrun:
|
@@ -7369,7 +7379,7 @@ def get_batched_arms(nr_of_jobs_to_get: int) -> list:
|
|
7369
7379
|
return batched_arms
|
7370
7380
|
|
7371
7381
|
@beartype
|
7372
|
-
def _fetch_next_trials(nr_of_jobs_to_get: int, recursion: bool = False) ->
|
7382
|
+
def _fetch_next_trials(nr_of_jobs_to_get: int, recursion: bool = False) -> Tuple[Dict[int, Any], bool]:
|
7373
7383
|
die_101_if_no_ax_client_or_experiment_or_gs()
|
7374
7384
|
|
7375
7385
|
if not ax_client:
|
.shellscript_functions
CHANGED
@@ -222,7 +222,7 @@
|
|
222
222
|
PROGRESSBAR=$(generate_progress_bar_setup "$NUMBER_OF_MAIN_MODULES")
|
223
223
|
|
224
224
|
if [[ -z $CI ]]; then
|
225
|
-
green_reset_line "${PROGRESSBAR}➤Installing $MODULE
|
225
|
+
green_reset_line "${PROGRESSBAR}➤Installing $MODULE "
|
226
226
|
fi
|
227
227
|
|
228
228
|
|
@@ -238,7 +238,7 @@
|
|
238
238
|
for i in $(pip3 install --disable-pip-version-check --dry-run "$MODULE" | grep -v "already satisfied" | grep "Collecting" | sed -e 's#Collecting ##' | grep -v "^$MODULE$"); do
|
239
239
|
if [[ "$i" != "$MODULE" ]]; then
|
240
240
|
if [[ $k -eq 0 ]]; then
|
241
|
-
green_reset_line "${PROGRESSBAR}➤Installing requirements for $MODULE
|
241
|
+
green_reset_line "${PROGRESSBAR}➤Installing requirements for $MODULE"
|
242
242
|
fi
|
243
243
|
ppip "$i" "$MODULE" "$NUMBER_OF_MAIN_MODULES" || {
|
244
244
|
red_reset_line "❌Failed to install $i."
|
@@ -251,11 +251,11 @@
|
|
251
251
|
done
|
252
252
|
|
253
253
|
if [[ $k -gt 0 ]]; then
|
254
|
-
green_reset_line "${PROGRESSBAR}➤Installed all requirements for $MODULE, now installing the package itself
|
254
|
+
green_reset_line "${PROGRESSBAR}➤Installed all requirements for $MODULE, now installing the package itself..."
|
255
255
|
fi
|
256
256
|
fi
|
257
257
|
|
258
|
-
green_reset_line "${PROGRESSBAR}➤Installing $MODULE
|
258
|
+
green_reset_line "${PROGRESSBAR}➤Installing $MODULE..."
|
259
259
|
mkdir -p logs
|
260
260
|
export PIP_DISABLE_PIP_VERSION_CHECK=1
|
261
261
|
INSTALL_ERRORS_FILE="logs/install_errors"
|
@@ -291,7 +291,7 @@
|
|
291
291
|
PROGRESSBAR=$(generate_progress_bar_setup "$NUMBER_OF_MAIN_MODULES")
|
292
292
|
|
293
293
|
if [[ -z $CI ]]; then
|
294
|
-
green_reset_line "${PROGRESSBAR}✅$MODULE installed successfully
|
294
|
+
green_reset_line "${PROGRESSBAR}✅$MODULE installed successfully"
|
295
295
|
fi
|
296
296
|
fi
|
297
297
|
set -e
|
@@ -318,22 +318,6 @@
|
|
318
318
|
echo "$nr"
|
319
319
|
}
|
320
320
|
|
321
|
-
function get_nr_bg_jobs {
|
322
|
-
jobs -r | wc -l | tr -d " "
|
323
|
-
}
|
324
|
-
|
325
|
-
function bg_jobs_str {
|
326
|
-
bg_jobs=$(get_nr_bg_jobs)
|
327
|
-
|
328
|
-
if [[ $bg_jobs -gt 0 ]]; then
|
329
|
-
if [[ $bg_jobs -eq 1 ]]; then
|
330
|
-
echo " (Currently $bg_jobs background job)"
|
331
|
-
else
|
332
|
-
echo " (Currently $bg_jobs background jobs)"
|
333
|
-
fi
|
334
|
-
fi
|
335
|
-
}
|
336
|
-
|
337
321
|
function install_required_modules {
|
338
322
|
green_reset_line "➤Checking environment $VENV_DIR..."
|
339
323
|
MAX_NR="${#install_those[@]}"
|
@@ -345,19 +329,10 @@
|
|
345
329
|
install_this=${install_those[$key]}
|
346
330
|
PROGRESSBAR=$(generate_progress_bar_setup "$MAX_NR")
|
347
331
|
if [[ -z $CI ]]; then
|
348
|
-
green_reset_line "${PROGRESSBAR}➤Checking if $install_this is installed
|
332
|
+
green_reset_line "${PROGRESSBAR}➤Checking if $install_this is installed..."
|
349
333
|
fi
|
350
334
|
|
351
335
|
ppip "$install_this" "-" "$MAX_NR"
|
352
|
-
|
353
|
-
nr_bg_jobs=$(get_nr_bg_jobs)
|
354
|
-
|
355
|
-
while [[ "$nr_bg_jobs" -gt 4 ]]; do
|
356
|
-
nr_bg_jobs=$(get_nr_bg_jobs)
|
357
|
-
if [[ -z $CI ]]; then
|
358
|
-
green_reset_line "${PROGRESSBAR}Currently waiting for jobs to end (currently $nr_bg_jobs)"
|
359
|
-
fi
|
360
|
-
done
|
361
336
|
done
|
362
337
|
|
363
338
|
_tput cr
|
@@ -417,7 +392,7 @@
|
|
417
392
|
fi
|
418
393
|
fi
|
419
394
|
|
420
|
-
green_reset_line "${PROGRESSBAR}➤Environment $VENV_DIR was not found. Creating it
|
395
|
+
green_reset_line "${PROGRESSBAR}➤Environment $VENV_DIR was not found. Creating it..."
|
421
396
|
python3 -mvenv "$VENV_DIR/" || {
|
422
397
|
red_text "❌Failed to create Virtual Environment in $VENV_DIR"
|
423
398
|
exit 20
|
omniopt
CHANGED
@@ -1703,8 +1703,8 @@ EOF
|
|
1703
1703
|
myexit 110
|
1704
1704
|
fi
|
1705
1705
|
|
1706
|
+
_tput civis # Disable cursor
|
1706
1707
|
while [[ ! -e $LOG_PATH || ! -s $LOG_PATH ]]; do
|
1707
|
-
_tput civis # Disable cursor
|
1708
1708
|
|
1709
1709
|
current_time=$(date +%s)
|
1710
1710
|
|
@@ -1772,11 +1772,10 @@ EOF
|
|
1772
1772
|
echo -ne "$print_line"
|
1773
1773
|
sleep 0.05
|
1774
1774
|
done
|
1775
|
-
|
1776
|
-
_tput cnorm # Enable cursor
|
1777
|
-
|
1778
1775
|
done
|
1779
1776
|
|
1777
|
+
_tput cnorm # Enable cursor
|
1778
|
+
|
1780
1779
|
if [[ $debug -eq 1 ]]; then
|
1781
1780
|
set_debug
|
1782
1781
|
fi
|
@@ -613,7 +613,7 @@ class ConfigLoader:
|
|
613
613
|
run_mode: str
|
614
614
|
|
615
615
|
@beartype
|
616
|
-
def __init__(self, _parsing_arguments_loader) -> None:
|
616
|
+
def __init__(self: Any, _parsing_arguments_loader: Any) -> None:
|
617
617
|
self.parser = argparse.ArgumentParser(
|
618
618
|
prog="omniopt",
|
619
619
|
description='A hyperparameter optimizer for slurm-based HPC-systems',
|
@@ -629,7 +629,7 @@ class ConfigLoader:
|
|
629
629
|
self.add_arguments()
|
630
630
|
|
631
631
|
@beartype
|
632
|
-
def add_arguments(self) -> None:
|
632
|
+
def add_arguments(self: Any) -> None:
|
633
633
|
required = self.parser.add_argument_group('Required arguments', 'These options have to be set')
|
634
634
|
required_but_choice = self.parser.add_argument_group('Required arguments that allow a choice', 'Of these arguments, one has to be set to continue')
|
635
635
|
optional = self.parser.add_argument_group('Optional', 'These options are optional')
|
@@ -1780,14 +1780,15 @@ def live_share(force: bool = False) -> bool:
|
|
1780
1780
|
if not get_current_run_folder():
|
1781
1781
|
return False
|
1782
1782
|
|
1783
|
-
|
1783
|
+
if SHOWN_LIVE_SHARE_COUNTER == 0:
|
1784
|
+
stdout, stderr = run_live_share_command(force)
|
1784
1785
|
|
1785
|
-
|
1786
|
-
|
1786
|
+
if stderr:
|
1787
|
+
print_green(stderr)
|
1787
1788
|
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1789
|
+
extract_and_print_qr(stderr)
|
1790
|
+
else:
|
1791
|
+
stdout, stderr = run_live_share_command(force)
|
1791
1792
|
|
1792
1793
|
SHOWN_LIVE_SHARE_COUNTER = SHOWN_LIVE_SHARE_COUNTER + 1
|
1793
1794
|
except KeyboardInterrupt:
|
@@ -3300,23 +3301,29 @@ def find_file_paths_and_print_infos(_text: str, program_code: str) -> str:
|
|
3300
3301
|
return string
|
3301
3302
|
|
3302
3303
|
@beartype
|
3303
|
-
def write_failed_logs(data_dict: dict, error_description: str = "") -> None:
|
3304
|
-
headers =
|
3305
|
-
data = [
|
3304
|
+
def write_failed_logs(data_dict: Optional[dict], error_description: str = "") -> None:
|
3305
|
+
headers = []
|
3306
|
+
data = []
|
3307
|
+
|
3308
|
+
if data_dict is not None:
|
3309
|
+
headers = list(data_dict.keys())
|
3310
|
+
data = [list(data_dict.values())]
|
3311
|
+
else:
|
3312
|
+
print_debug("No data_dict provided, writing only error description.")
|
3313
|
+
data = [[]] # leeres Datenfeld, nur error_description kommt dazu
|
3306
3314
|
|
3307
3315
|
if error_description:
|
3308
3316
|
headers.append('error_description')
|
3309
3317
|
for row in data:
|
3310
3318
|
row.append(error_description)
|
3311
3319
|
|
3312
|
-
failed_logs_dir = os.path.join(get_current_run_folder(), 'failed_logs')
|
3313
|
-
|
3314
|
-
data_file_path = os.path.join(failed_logs_dir, 'parameters.csv')
|
3315
|
-
header_file_path = os.path.join(failed_logs_dir, 'headers.csv')
|
3316
|
-
|
3317
3320
|
try:
|
3321
|
+
failed_logs_dir = os.path.join(get_current_run_folder(), 'failed_logs')
|
3318
3322
|
makedirs(failed_logs_dir)
|
3319
3323
|
|
3324
|
+
header_file_path = os.path.join(failed_logs_dir, 'headers.csv')
|
3325
|
+
data_file_path = os.path.join(failed_logs_dir, 'parameters.csv')
|
3326
|
+
|
3320
3327
|
if not os.path.exists(header_file_path):
|
3321
3328
|
try:
|
3322
3329
|
with open(header_file_path, mode='w', encoding='utf-8', newline='') as header_file:
|
@@ -3327,11 +3334,10 @@ def write_failed_logs(data_dict: dict, error_description: str = "") -> None:
|
|
3327
3334
|
print_red(f"Failed to write header file: {e}")
|
3328
3335
|
|
3329
3336
|
try:
|
3330
|
-
with open(data_file_path, mode='a', encoding=
|
3337
|
+
with open(data_file_path, mode='a', encoding='utf-8', newline='') as data_file:
|
3331
3338
|
writer = csv.writer(data_file)
|
3332
3339
|
writer.writerows(data)
|
3333
3340
|
print_debug(f"Data appended to file: {data_file_path}")
|
3334
|
-
|
3335
3341
|
except Exception as e:
|
3336
3342
|
print_red(f"Failed to append data to file: {e}")
|
3337
3343
|
|
@@ -3613,7 +3619,15 @@ def _write_job_infos_csv_build_values(start_time: Union[int, float], end_time: U
|
|
3613
3619
|
|
3614
3620
|
@beartype
|
3615
3621
|
def _write_job_infos_csv_replace_none_with_str(elements: Optional[List[str]]) -> List[str]:
|
3616
|
-
|
3622
|
+
if elements is None:
|
3623
|
+
return []
|
3624
|
+
result = []
|
3625
|
+
for element in elements:
|
3626
|
+
if element is None:
|
3627
|
+
result.append('None')
|
3628
|
+
else:
|
3629
|
+
result.append(element)
|
3630
|
+
return result
|
3617
3631
|
|
3618
3632
|
@beartype
|
3619
3633
|
def print_evaluate_times() -> None:
|
@@ -3802,8 +3816,8 @@ def _evaluate_create_signal_map() -> Dict[str, type[BaseException]]:
|
|
3802
3816
|
@beartype
|
3803
3817
|
def _evaluate_handle_result(
|
3804
3818
|
stdout: str,
|
3805
|
-
result: Union[int, float, dict, list],
|
3806
|
-
parameters: dict
|
3819
|
+
result: Optional[Union[int, float, dict, list]],
|
3820
|
+
parameters: Optional[dict]
|
3807
3821
|
) -> Dict[str, Optional[Union[float, Tuple]]]:
|
3808
3822
|
final_result: Dict[str, Optional[Union[float, Tuple]]] = {}
|
3809
3823
|
|
@@ -3856,17 +3870,15 @@ def pretty_process_output(stdout_path: str, stderr_path: str, exit_code: Optiona
|
|
3856
3870
|
def is_nonempty(s: Optional[str]) -> bool:
|
3857
3871
|
return bool(s and s.strip())
|
3858
3872
|
|
3859
|
-
if is_nonempty(stdout_txt):
|
3873
|
+
if is_nonempty(stdout_txt) and stdout_txt is not None:
|
3860
3874
|
console.rule(Text(f" {stdout_path} ", style=header_style))
|
3861
|
-
|
3862
|
-
|
3863
|
-
)
|
3875
|
+
panel = Panel(stdout_txt, title="STDOUT", border_style="cyan", padding=(0, 1))
|
3876
|
+
console.print(panel)
|
3864
3877
|
|
3865
|
-
if is_nonempty(stderr_txt):
|
3878
|
+
if is_nonempty(stderr_txt) and stderr_txt is not None:
|
3866
3879
|
console.rule(Text(f" {stderr_path} ", style=header_style))
|
3867
|
-
|
3868
|
-
|
3869
|
-
)
|
3880
|
+
panel = Panel(stderr_txt, title="STDERR", border_style="magenta", padding=(0, 1))
|
3881
|
+
console.print(panel)
|
3870
3882
|
|
3871
3883
|
if not (is_nonempty(stdout_txt) or is_nonempty(stderr_txt)):
|
3872
3884
|
print("\n")
|
@@ -4571,8 +4583,6 @@ def show_end_table_and_save_end_files() -> int:
|
|
4571
4583
|
|
4572
4584
|
display_failed_jobs_table()
|
4573
4585
|
|
4574
|
-
best_result_exit = 0
|
4575
|
-
|
4576
4586
|
best_result_exit: int = print_best_result()
|
4577
4587
|
|
4578
4588
|
if not args.dryrun:
|
@@ -7369,7 +7379,7 @@ def get_batched_arms(nr_of_jobs_to_get: int) -> list:
|
|
7369
7379
|
return batched_arms
|
7370
7380
|
|
7371
7381
|
@beartype
|
7372
|
-
def _fetch_next_trials(nr_of_jobs_to_get: int, recursion: bool = False) ->
|
7382
|
+
def _fetch_next_trials(nr_of_jobs_to_get: int, recursion: bool = False) -> Tuple[Dict[int, Any], bool]:
|
7373
7383
|
die_101_if_no_ax_client_or_experiment_or_gs()
|
7374
7384
|
|
7375
7385
|
if not ax_client:
|
@@ -222,7 +222,7 @@
|
|
222
222
|
PROGRESSBAR=$(generate_progress_bar_setup "$NUMBER_OF_MAIN_MODULES")
|
223
223
|
|
224
224
|
if [[ -z $CI ]]; then
|
225
|
-
green_reset_line "${PROGRESSBAR}➤Installing $MODULE
|
225
|
+
green_reset_line "${PROGRESSBAR}➤Installing $MODULE "
|
226
226
|
fi
|
227
227
|
|
228
228
|
|
@@ -238,7 +238,7 @@
|
|
238
238
|
for i in $(pip3 install --disable-pip-version-check --dry-run "$MODULE" | grep -v "already satisfied" | grep "Collecting" | sed -e 's#Collecting ##' | grep -v "^$MODULE$"); do
|
239
239
|
if [[ "$i" != "$MODULE" ]]; then
|
240
240
|
if [[ $k -eq 0 ]]; then
|
241
|
-
green_reset_line "${PROGRESSBAR}➤Installing requirements for $MODULE
|
241
|
+
green_reset_line "${PROGRESSBAR}➤Installing requirements for $MODULE"
|
242
242
|
fi
|
243
243
|
ppip "$i" "$MODULE" "$NUMBER_OF_MAIN_MODULES" || {
|
244
244
|
red_reset_line "❌Failed to install $i."
|
@@ -251,11 +251,11 @@
|
|
251
251
|
done
|
252
252
|
|
253
253
|
if [[ $k -gt 0 ]]; then
|
254
|
-
green_reset_line "${PROGRESSBAR}➤Installed all requirements for $MODULE, now installing the package itself
|
254
|
+
green_reset_line "${PROGRESSBAR}➤Installed all requirements for $MODULE, now installing the package itself..."
|
255
255
|
fi
|
256
256
|
fi
|
257
257
|
|
258
|
-
green_reset_line "${PROGRESSBAR}➤Installing $MODULE
|
258
|
+
green_reset_line "${PROGRESSBAR}➤Installing $MODULE..."
|
259
259
|
mkdir -p logs
|
260
260
|
export PIP_DISABLE_PIP_VERSION_CHECK=1
|
261
261
|
INSTALL_ERRORS_FILE="logs/install_errors"
|
@@ -291,7 +291,7 @@
|
|
291
291
|
PROGRESSBAR=$(generate_progress_bar_setup "$NUMBER_OF_MAIN_MODULES")
|
292
292
|
|
293
293
|
if [[ -z $CI ]]; then
|
294
|
-
green_reset_line "${PROGRESSBAR}✅$MODULE installed successfully
|
294
|
+
green_reset_line "${PROGRESSBAR}✅$MODULE installed successfully"
|
295
295
|
fi
|
296
296
|
fi
|
297
297
|
set -e
|
@@ -318,22 +318,6 @@
|
|
318
318
|
echo "$nr"
|
319
319
|
}
|
320
320
|
|
321
|
-
function get_nr_bg_jobs {
|
322
|
-
jobs -r | wc -l | tr -d " "
|
323
|
-
}
|
324
|
-
|
325
|
-
function bg_jobs_str {
|
326
|
-
bg_jobs=$(get_nr_bg_jobs)
|
327
|
-
|
328
|
-
if [[ $bg_jobs -gt 0 ]]; then
|
329
|
-
if [[ $bg_jobs -eq 1 ]]; then
|
330
|
-
echo " (Currently $bg_jobs background job)"
|
331
|
-
else
|
332
|
-
echo " (Currently $bg_jobs background jobs)"
|
333
|
-
fi
|
334
|
-
fi
|
335
|
-
}
|
336
|
-
|
337
321
|
function install_required_modules {
|
338
322
|
green_reset_line "➤Checking environment $VENV_DIR..."
|
339
323
|
MAX_NR="${#install_those[@]}"
|
@@ -345,19 +329,10 @@
|
|
345
329
|
install_this=${install_those[$key]}
|
346
330
|
PROGRESSBAR=$(generate_progress_bar_setup "$MAX_NR")
|
347
331
|
if [[ -z $CI ]]; then
|
348
|
-
green_reset_line "${PROGRESSBAR}➤Checking if $install_this is installed
|
332
|
+
green_reset_line "${PROGRESSBAR}➤Checking if $install_this is installed..."
|
349
333
|
fi
|
350
334
|
|
351
335
|
ppip "$install_this" "-" "$MAX_NR"
|
352
|
-
|
353
|
-
nr_bg_jobs=$(get_nr_bg_jobs)
|
354
|
-
|
355
|
-
while [[ "$nr_bg_jobs" -gt 4 ]]; do
|
356
|
-
nr_bg_jobs=$(get_nr_bg_jobs)
|
357
|
-
if [[ -z $CI ]]; then
|
358
|
-
green_reset_line "${PROGRESSBAR}Currently waiting for jobs to end (currently $nr_bg_jobs)"
|
359
|
-
fi
|
360
|
-
done
|
361
336
|
done
|
362
337
|
|
363
338
|
_tput cr
|
@@ -417,7 +392,7 @@
|
|
417
392
|
fi
|
418
393
|
fi
|
419
394
|
|
420
|
-
green_reset_line "${PROGRESSBAR}➤Environment $VENV_DIR was not found. Creating it
|
395
|
+
green_reset_line "${PROGRESSBAR}➤Environment $VENV_DIR was not found. Creating it..."
|
421
396
|
python3 -mvenv "$VENV_DIR/" || {
|
422
397
|
red_text "❌Failed to create Virtual Environment in $VENV_DIR"
|
423
398
|
exit 20
|
@@ -1703,8 +1703,8 @@ EOF
|
|
1703
1703
|
myexit 110
|
1704
1704
|
fi
|
1705
1705
|
|
1706
|
+
_tput civis # Disable cursor
|
1706
1707
|
while [[ ! -e $LOG_PATH || ! -s $LOG_PATH ]]; do
|
1707
|
-
_tput civis # Disable cursor
|
1708
1708
|
|
1709
1709
|
current_time=$(date +%s)
|
1710
1710
|
|
@@ -1772,11 +1772,10 @@ EOF
|
|
1772
1772
|
echo -ne "$print_line"
|
1773
1773
|
sleep 0.05
|
1774
1774
|
done
|
1775
|
-
|
1776
|
-
_tput cnorm # Enable cursor
|
1777
|
-
|
1778
1775
|
done
|
1779
1776
|
|
1777
|
+
_tput cnorm # Enable cursor
|
1778
|
+
|
1780
1779
|
if [[ $debug -eq 1 ]]; then
|
1781
1780
|
set_debug
|
1782
1781
|
fi
|
@@ -1,9 +1,9 @@
|
|
1
|
-
.colorfunctions.sh,sha256=
|
1
|
+
.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
|
2
2
|
.dockerignore,sha256=vtgV4tvVZdmusf1z7MYscSBo_UTtHMG6T7Knb4llBvo,11
|
3
3
|
.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
|
4
4
|
.gitignore,sha256=OMaFWOR6wxjAlI85rF3euQcjQFFAl1F34abZkltKnaU,3714
|
5
5
|
.helpers.py,sha256=6uoxzpi8zfvvQy16LpGkIC1OzvDC8TR8luAOX1iW1OM,30679
|
6
|
-
.omniopt.py,sha256=
|
6
|
+
.omniopt.py,sha256=JUpMc0M0ZtIPbuDJAQpXf_Vwnz1dxEzT26WGFsNqBmA,401911
|
7
7
|
.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
|
8
8
|
.omniopt_plot_general.py,sha256=ZERZJkvVOoJhi7SszmTF1Iln-_08_0Aki48u3LHUW-k,6809
|
9
9
|
.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
|
@@ -15,55 +15,55 @@
|
|
15
15
|
.omniopt_plot_trial_index_result.py,sha256=5DmqZAQO_PFmzdap-TIhSMAshRXpOHQacnHAtjwnzN4,4629
|
16
16
|
.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
|
17
17
|
.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
|
18
|
-
.shellscript_functions,sha256=
|
18
|
+
.shellscript_functions,sha256=55nF3dy_xOeEzkDBINnu72L3RUAWMbnQbK_4GsoJlnA,13548
|
19
19
|
.tpe.py,sha256=Yd9s-ixCbWxTd3x0O1M1sok9QfM2mBEfsDwXhx50-Nc,6464
|
20
20
|
LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
21
21
|
MANIFEST.in,sha256=L3QBXyL1TtyWxbAPsfjZdCfpeBrRuI5MSgdnvwdQ22Q,24
|
22
22
|
README.md,sha256=ImtT_VuWENewZKkJySRL_qpbHbs0pr6Xgs_n9HURg90,3332
|
23
23
|
apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
|
24
|
-
omniopt,sha256=
|
24
|
+
omniopt,sha256=WNbAGQOvqlmDPZyT3DrFJEg1Xn-QH07cgnq8n4jdRBc,47798
|
25
25
|
omniopt_docker,sha256=LWVUeyvmA5AKqAHiH9jBUkR5uZ6AHMnSy0eET7mK6E4,3602
|
26
26
|
omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
|
27
27
|
omniopt_plot,sha256=Z8ZR10p-ZRSgMeVPO-wVCJ8lk-LQtntjZ9Bk9RifCIs,13360
|
28
28
|
omniopt_share,sha256=PiO7Vt-dL5aC2uAZZZEYlNbyGjkyMUSeWVoiIURjr3k,13999
|
29
|
-
pyproject.toml,sha256=
|
29
|
+
pyproject.toml,sha256=n43LDoRbnWGrAHhRzf7IR29MSyYykIjuSMnQDgFD_0A,397
|
30
30
|
requirements.txt,sha256=jqvp-P5m33fwsODnA_FFVVujUwIt9z_nhBRIxAtahcQ,302
|
31
31
|
setup.cfg,sha256=HEc8uu6NpfxG5_AVh5SvXOpEFMNKPPPxgMIAH144vT4,38
|
32
32
|
test_requirements.txt,sha256=qUBRLahv3rTxvKyddRhEzT-EnQyKdubu5KxyGhUHPr8,470
|
33
|
-
omniopt2-
|
34
|
-
omniopt2-
|
35
|
-
omniopt2-
|
36
|
-
omniopt2-
|
37
|
-
omniopt2-
|
38
|
-
omniopt2-
|
39
|
-
omniopt2-
|
40
|
-
omniopt2-
|
41
|
-
omniopt2-
|
42
|
-
omniopt2-
|
43
|
-
omniopt2-
|
44
|
-
omniopt2-
|
45
|
-
omniopt2-
|
46
|
-
omniopt2-
|
47
|
-
omniopt2-
|
48
|
-
omniopt2-
|
49
|
-
omniopt2-
|
50
|
-
omniopt2-
|
51
|
-
omniopt2-
|
52
|
-
omniopt2-
|
53
|
-
omniopt2-
|
54
|
-
omniopt2-
|
55
|
-
omniopt2-
|
56
|
-
omniopt2-
|
57
|
-
omniopt2-
|
58
|
-
omniopt2-
|
59
|
-
omniopt2-
|
60
|
-
omniopt2-
|
61
|
-
omniopt2.egg-info/PKG-INFO,sha256=
|
33
|
+
omniopt2-7277.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
|
34
|
+
omniopt2-7277.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
|
35
|
+
omniopt2-7277.data/data/bin/.helpers.py,sha256=6uoxzpi8zfvvQy16LpGkIC1OzvDC8TR8luAOX1iW1OM,30679
|
36
|
+
omniopt2-7277.data/data/bin/.omniopt.py,sha256=JUpMc0M0ZtIPbuDJAQpXf_Vwnz1dxEzT26WGFsNqBmA,401911
|
37
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
|
38
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_general.py,sha256=ZERZJkvVOoJhi7SszmTF1Iln-_08_0Aki48u3LHUW-k,6809
|
39
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
|
40
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
|
41
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_scatter.py,sha256=-amqmLR_YLCbHImLPh6gwVFv8iiVnXME544XHsRVCuw,8422
|
42
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
|
43
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=w1L5gL6Bc_QudoSJi2lxEVvF17Apjjb3l2T-lXGnsUg,10279
|
44
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=hC4RFDiJN_UImezFR6M5uVF-QKDqMDpq6R5DIg7dDDc,6463
|
45
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=5DmqZAQO_PFmzdap-TIhSMAshRXpOHQacnHAtjwnzN4,4629
|
46
|
+
omniopt2-7277.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
|
47
|
+
omniopt2-7277.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
|
48
|
+
omniopt2-7277.data/data/bin/.shellscript_functions,sha256=55nF3dy_xOeEzkDBINnu72L3RUAWMbnQbK_4GsoJlnA,13548
|
49
|
+
omniopt2-7277.data/data/bin/.tpe.py,sha256=Yd9s-ixCbWxTd3x0O1M1sok9QfM2mBEfsDwXhx50-Nc,6464
|
50
|
+
omniopt2-7277.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
51
|
+
omniopt2-7277.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
|
52
|
+
omniopt2-7277.data/data/bin/omniopt,sha256=WNbAGQOvqlmDPZyT3DrFJEg1Xn-QH07cgnq8n4jdRBc,47798
|
53
|
+
omniopt2-7277.data/data/bin/omniopt_docker,sha256=LWVUeyvmA5AKqAHiH9jBUkR5uZ6AHMnSy0eET7mK6E4,3602
|
54
|
+
omniopt2-7277.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
|
55
|
+
omniopt2-7277.data/data/bin/omniopt_plot,sha256=Z8ZR10p-ZRSgMeVPO-wVCJ8lk-LQtntjZ9Bk9RifCIs,13360
|
56
|
+
omniopt2-7277.data/data/bin/omniopt_share,sha256=PiO7Vt-dL5aC2uAZZZEYlNbyGjkyMUSeWVoiIURjr3k,13999
|
57
|
+
omniopt2-7277.data/data/bin/requirements.txt,sha256=jqvp-P5m33fwsODnA_FFVVujUwIt9z_nhBRIxAtahcQ,302
|
58
|
+
omniopt2-7277.data/data/bin/setup.py,sha256=g3uEqJHXhggXwgLYoxOjsXg9Z6IV1ubh-Og59AZ264Q,4648
|
59
|
+
omniopt2-7277.data/data/bin/test_requirements.txt,sha256=qUBRLahv3rTxvKyddRhEzT-EnQyKdubu5KxyGhUHPr8,470
|
60
|
+
omniopt2-7277.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
61
|
+
omniopt2.egg-info/PKG-INFO,sha256=fsPTJP0X3feqvh61pf5KAQXX_k1VySSH62nbEPUfeEQ,5822
|
62
62
|
omniopt2.egg-info/SOURCES.txt,sha256=N-HtSaaqFRsd4XqAfeWVSp__3I-sw0d7cknJgyewRwQ,778
|
63
63
|
omniopt2.egg-info/dependency_links.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
64
64
|
omniopt2.egg-info/requires.txt,sha256=lR4dCom0VD9WtxDpAuN83qtJYZfMHl5GT8LjhUk6UJE,772
|
65
65
|
omniopt2.egg-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
66
|
-
omniopt2-
|
67
|
-
omniopt2-
|
68
|
-
omniopt2-
|
69
|
-
omniopt2-
|
66
|
+
omniopt2-7277.dist-info/METADATA,sha256=fsPTJP0X3feqvh61pf5KAQXX_k1VySSH62nbEPUfeEQ,5822
|
67
|
+
omniopt2-7277.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
68
|
+
omniopt2-7277.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
69
|
+
omniopt2-7277.dist-info/RECORD,,
|
omniopt2.egg-info/PKG-INFO
CHANGED
pyproject.toml
CHANGED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{omniopt2-7263.data → omniopt2-7277.data}/data/bin/.omniopt_plot_scatter_generation_method.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
|
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
|