omniopt2 7334__py3-none-any.whl → 7344__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.
- .omniopt.py +130 -54
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt.py +130 -54
- {omniopt2-7334.dist-info → omniopt2-7344.dist-info}/METADATA +1 -1
- {omniopt2-7334.dist-info → omniopt2-7344.dist-info}/RECORD +35 -35
- omniopt2.egg-info/PKG-INFO +1 -1
- pyproject.toml +1 -1
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.colorfunctions.sh +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.general.sh +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.helpers.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_cpu_ram_usage.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_general.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_gpu_usage.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_kde.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_scatter.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_scatter_generation_method.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_scatter_hex.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_time_and_exit_code.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_trial_index_result.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.omniopt_plot_worker.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.random_generator.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.shellscript_functions +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/.tpe.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/LICENSE +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/apt-dependencies.txt +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/omniopt +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/omniopt_docker +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/omniopt_evaluate +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/omniopt_plot +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/omniopt_share +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/requirements.txt +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/setup.py +0 -0
- {omniopt2-7334.data → omniopt2-7344.data}/data/bin/test_requirements.txt +0 -0
- {omniopt2-7334.dist-info → omniopt2-7344.dist-info}/WHEEL +0 -0
- {omniopt2-7334.dist-info → omniopt2-7344.dist-info}/licenses/LICENSE +0 -0
- {omniopt2-7334.dist-info → omniopt2-7344.dist-info}/top_level.txt +0 -0
.omniopt.py
CHANGED
@@ -1842,7 +1842,11 @@ def try_saving_to_db() -> None:
|
|
1842
1842
|
|
1843
1843
|
initialized_storage = True
|
1844
1844
|
|
1845
|
-
|
1845
|
+
if ax_client is not None:
|
1846
|
+
save_experiment_to_db(ax_client.experiment)
|
1847
|
+
else:
|
1848
|
+
print_red("ax_client was not defined in try_saving_to_db")
|
1849
|
+
my_exit(101)
|
1846
1850
|
save_generation_strategy(global_gs)
|
1847
1851
|
except Exception as e:
|
1848
1852
|
print_debug(f"Failed trying to save sqlite3-DB: {e}")
|
@@ -2014,6 +2018,9 @@ def print_logo() -> None:
|
|
2014
2018
|
"Climbing the hyperparameter mountain... Montana Sacra style!",
|
2015
2019
|
"better than OmniOpt1!",
|
2016
2020
|
"Optimizing like it's the Matrix, but I am the One.",
|
2021
|
+
"Not all who wander are lost... just doing a random search.",
|
2022
|
+
"Grid search? Please, I’m doing ballet through parameter space.",
|
2023
|
+
"Hyperparameter tuning: part science, part sorcery.",
|
2017
2024
|
"Channeling my inner Gandalf: ‘You shall not pass... without fine-tuning!’",
|
2018
2025
|
"Inception-level optimization: going deeper with every layer.",
|
2019
2026
|
"Hyperparameter quest: It's dangerous to go alone, take this!",
|
@@ -3908,6 +3915,20 @@ def _evaluate_create_signal_map() -> Dict[str, type[BaseException]]:
|
|
3908
3915
|
"INT-signal": SignalINT
|
3909
3916
|
}
|
3910
3917
|
|
3918
|
+
@beartype
|
3919
|
+
def sanitize_for_evaluate_handle_result(val: Optional[Union[int, float, list, tuple]]) -> Optional[Union[float, Tuple]]:
|
3920
|
+
if val is None:
|
3921
|
+
return None
|
3922
|
+
if isinstance(val, int):
|
3923
|
+
return float(val)
|
3924
|
+
if isinstance(val, float):
|
3925
|
+
return val
|
3926
|
+
if isinstance(val, list):
|
3927
|
+
return tuple(val)
|
3928
|
+
if isinstance(val, tuple):
|
3929
|
+
return val
|
3930
|
+
raise TypeError(f"Unexpected result type: {type(val)}")
|
3931
|
+
|
3911
3932
|
@beartype
|
3912
3933
|
def _evaluate_handle_result(
|
3913
3934
|
stdout: str,
|
@@ -3918,16 +3939,19 @@ def _evaluate_handle_result(
|
|
3918
3939
|
|
3919
3940
|
if isinstance(result, (int, float)):
|
3920
3941
|
for name in arg_result_names:
|
3921
|
-
|
3942
|
+
value = attach_sem_to_result(stdout, name, float(result))
|
3943
|
+
final_result[name] = sanitize_for_evaluate_handle_result(value)
|
3922
3944
|
|
3923
3945
|
elif isinstance(result, list):
|
3924
3946
|
float_values = [float(r) for r in result]
|
3925
3947
|
for name in arg_result_names:
|
3926
|
-
|
3948
|
+
value = attach_sem_to_result(stdout, name, float_values)
|
3949
|
+
final_result[name] = sanitize_for_evaluate_handle_result(value)
|
3927
3950
|
|
3928
3951
|
elif isinstance(result, dict):
|
3929
3952
|
for name in arg_result_names:
|
3930
|
-
|
3953
|
+
value = attach_sem_to_result(stdout, name, result.get(name))
|
3954
|
+
final_result[name] = sanitize_for_evaluate_handle_result(value)
|
3931
3955
|
|
3932
3956
|
else:
|
3933
3957
|
write_failed_logs(parameters, "No Result")
|
@@ -5332,7 +5356,39 @@ def copy_continue_uuid() -> None:
|
|
5332
5356
|
print_debug(f"copy_continue_uuid: Source file does not exist: {source_file}")
|
5333
5357
|
|
5334
5358
|
@beartype
|
5335
|
-
def
|
5359
|
+
def load_ax_client_from_experiment_parameters(experiment_parameters: dict) -> None:
|
5360
|
+
global ax_client
|
5361
|
+
tmp_file_path = get_tmp_file_from_json(experiment_parameters)
|
5362
|
+
ax_client = AxClient.load_from_json_file(tmp_file_path)
|
5363
|
+
ax_client = cast(AxClient, ax_client)
|
5364
|
+
os.unlink(tmp_file_path)
|
5365
|
+
|
5366
|
+
@beartype
|
5367
|
+
def save_checkpoint_for_continued(experiment_parameters: dict) -> None:
|
5368
|
+
state_files_folder = f"{get_current_run_folder()}/state_files"
|
5369
|
+
checkpoint_filepath = f'{state_files_folder}/checkpoint.json'
|
5370
|
+
|
5371
|
+
makedirs(state_files_folder)
|
5372
|
+
|
5373
|
+
with open(checkpoint_filepath, mode="w", encoding="utf-8") as outfile:
|
5374
|
+
json.dump(experiment_parameters, outfile)
|
5375
|
+
|
5376
|
+
if not os.path.exists(checkpoint_filepath):
|
5377
|
+
_fatal_error(f"{checkpoint_filepath} not found. Cannot continue_previous_job without.", 47)
|
5378
|
+
|
5379
|
+
@beartype
|
5380
|
+
def load_original_generation_strategy(experiment_parameters: dict, original_ax_client_file: str) -> dict:
|
5381
|
+
with open(original_ax_client_file, encoding="utf-8") as f:
|
5382
|
+
loaded_original_ax_client_json = json.load(f)
|
5383
|
+
original_generation_strategy = loaded_original_ax_client_json["generation_strategy"]
|
5384
|
+
|
5385
|
+
if original_generation_strategy:
|
5386
|
+
experiment_parameters["generation_strategy"] = original_generation_strategy
|
5387
|
+
|
5388
|
+
return experiment_parameters
|
5389
|
+
|
5390
|
+
@beartype
|
5391
|
+
def get_experiment_parameters(_params: list) -> Optional[Tuple[AxClient, Union[list, dict], dict, str, str]]:
|
5336
5392
|
cli_params_experiment_parameters, experiment_parameters = _params
|
5337
5393
|
|
5338
5394
|
continue_previous_job = args.continue_previous_job
|
@@ -5340,10 +5396,9 @@ def get_experiment_parameters(_params: list) -> Tuple[AxClient, Union[list, dict
|
|
5340
5396
|
|
5341
5397
|
experiment_constraints = get_constraints()
|
5342
5398
|
|
5343
|
-
global ax_client
|
5344
|
-
|
5345
5399
|
if not ax_client:
|
5346
5400
|
_fatal_error("Something went wrong with the ax_client", 9)
|
5401
|
+
return None
|
5347
5402
|
|
5348
5403
|
gpu_string = ""
|
5349
5404
|
gpu_color = "green"
|
@@ -5356,8 +5411,6 @@ def get_experiment_parameters(_params: list) -> Tuple[AxClient, Union[list, dict
|
|
5356
5411
|
checkpoint_file: str = f"{continue_previous_job}/state_files/checkpoint.json"
|
5357
5412
|
checkpoint_parameters_filepath: str = f"{continue_previous_job}/state_files/checkpoint.json.parameters.json"
|
5358
5413
|
original_ax_client_file: str = f"{get_current_run_folder()}/state_files/original_ax_client_before_loading_tmp_one.json"
|
5359
|
-
state_files_folder = f"{get_current_run_folder()}/state_files"
|
5360
|
-
checkpoint_filepath = f'{state_files_folder}/checkpoint.json'
|
5361
5414
|
|
5362
5415
|
die_with_47_if_file_doesnt_exists(checkpoint_parameters_filepath)
|
5363
5416
|
die_with_47_if_file_doesnt_exists(checkpoint_file)
|
@@ -5368,37 +5421,27 @@ def get_experiment_parameters(_params: list) -> Tuple[AxClient, Union[list, dict
|
|
5368
5421
|
|
5369
5422
|
copy_state_files_from_previous_job(continue_previous_job)
|
5370
5423
|
|
5371
|
-
|
5372
|
-
|
5373
|
-
|
5424
|
+
if experiment_parameters is None or "experiment" not in experiment_parameters or "search_space" not in experiment_parameters["experiment"] or "parameters" not in experiment_parameters["experiment"]["search_space"]:
|
5425
|
+
print_red(f"Either, experiment_parameters was empty or it had no path to experiment/search_space/parameters: {experiment_parameters}")
|
5426
|
+
my_exit(95)
|
5427
|
+
else:
|
5428
|
+
replace_parameters_for_continued_jobs(parameter, cli_params_experiment_parameters, experiment_parameters)
|
5374
5429
|
|
5375
|
-
|
5376
|
-
loaded_original_ax_client_json = json.load(f)
|
5377
|
-
original_generation_strategy = loaded_original_ax_client_json["generation_strategy"]
|
5430
|
+
ax_client.save_to_json_file(filepath=original_ax_client_file)
|
5378
5431
|
|
5379
|
-
|
5380
|
-
experiment_parameters["generation_strategy"] = original_generation_strategy
|
5432
|
+
experiment_parameters = load_original_generation_strategy(experiment_parameters, original_ax_client_file)
|
5381
5433
|
|
5382
|
-
|
5383
|
-
ax_client = AxClient.load_from_json_file(tmp_file_path)
|
5384
|
-
ax_client = cast(AxClient, ax_client)
|
5385
|
-
os.unlink(tmp_file_path)
|
5434
|
+
load_ax_client_from_experiment_parameters(experiment_parameters)
|
5386
5435
|
|
5387
|
-
|
5436
|
+
save_checkpoint_for_continued(experiment_parameters)
|
5388
5437
|
|
5389
|
-
|
5390
|
-
|
5438
|
+
with open(f'{get_current_run_folder()}/checkpoint_load_source', mode='w', encoding="utf-8") as f:
|
5439
|
+
print(f"Continuation from checkpoint {continue_previous_job}", file=f)
|
5391
5440
|
|
5392
|
-
|
5393
|
-
_fatal_error(f"{checkpoint_filepath} not found. Cannot continue_previous_job without.", 47)
|
5441
|
+
copy_continue_uuid()
|
5394
5442
|
|
5395
|
-
|
5396
|
-
|
5397
|
-
|
5398
|
-
copy_continue_uuid()
|
5399
|
-
|
5400
|
-
if experiment_constraints:
|
5401
|
-
experiment_args = set_experiment_constraints(experiment_constraints, experiment_args, experiment_parameters["experiment"]["search_space"]["parameters"])
|
5443
|
+
if experiment_constraints:
|
5444
|
+
experiment_args = set_experiment_constraints(experiment_constraints, experiment_args, experiment_parameters["experiment"]["search_space"]["parameters"])
|
5402
5445
|
else:
|
5403
5446
|
objectives = set_objectives()
|
5404
5447
|
|
@@ -6245,6 +6288,9 @@ def insert_job_into_ax_client(arm_params: dict, result: dict, new_job_type: str
|
|
6245
6288
|
|
6246
6289
|
while not done_converting:
|
6247
6290
|
try:
|
6291
|
+
if ax_client is None:
|
6292
|
+
return False
|
6293
|
+
|
6248
6294
|
new_trial = ax_client.attach_trial(arm_params)
|
6249
6295
|
if not isinstance(new_trial, tuple) or len(new_trial) < 2:
|
6250
6296
|
raise RuntimeError("attach_trial didn't return the expected tuple")
|
@@ -6704,6 +6750,10 @@ def _finish_job_core_helper_check_valid_result(result: Union[None, list, int, fl
|
|
6704
6750
|
|
6705
6751
|
@beartype
|
6706
6752
|
def _finish_job_core_helper_complete_trial(trial_index: int, raw_result: dict) -> None:
|
6753
|
+
if ax_client is None:
|
6754
|
+
print_red("ax_client is not defined in _finish_job_core_helper_complete_trial")
|
6755
|
+
return None
|
6756
|
+
|
6707
6757
|
try:
|
6708
6758
|
print_debug(f"Completing trial: {trial_index} with result: {raw_result}...")
|
6709
6759
|
ax_client.complete_trial(trial_index=trial_index, raw_data=raw_result)
|
@@ -6716,6 +6766,8 @@ def _finish_job_core_helper_complete_trial(trial_index: int, raw_result: dict) -
|
|
6716
6766
|
else:
|
6717
6767
|
_fatal_error(f"Error completing trial: {e}", 234)
|
6718
6768
|
|
6769
|
+
return None
|
6770
|
+
|
6719
6771
|
@beartype
|
6720
6772
|
def _finish_job_core_helper_mark_success(_trial: ax.core.trial.Trial, result: Union[float, int, tuple]) -> None:
|
6721
6773
|
print_debug(f"Marking trial {_trial} as completed")
|
@@ -6731,6 +6783,10 @@ def _finish_job_core_helper_mark_success(_trial: ax.core.trial.Trial, result: Un
|
|
6731
6783
|
|
6732
6784
|
@beartype
|
6733
6785
|
def _finish_job_core_helper_mark_failure(job: Any, trial_index: int, _trial: Any) -> None:
|
6786
|
+
if ax_client is None:
|
6787
|
+
print_red("ax_client is not defined in _finish_job_core_helper_mark_failure")
|
6788
|
+
return None
|
6789
|
+
|
6734
6790
|
print_debug(f"Counting job {job} as failed, because the result is {job.result() if job else 'None'}")
|
6735
6791
|
if job:
|
6736
6792
|
try:
|
@@ -6745,6 +6801,8 @@ def _finish_job_core_helper_mark_failure(job: Any, trial_index: int, _trial: Any
|
|
6745
6801
|
mark_trial_as_failed(trial_index, _trial)
|
6746
6802
|
failed_jobs(1)
|
6747
6803
|
|
6804
|
+
return None
|
6805
|
+
|
6748
6806
|
@beartype
|
6749
6807
|
def finish_job_core(job: Any, trial_index: int, this_jobs_finished: int) -> int:
|
6750
6808
|
die_for_debug_reasons()
|
@@ -6782,6 +6840,10 @@ def finish_job_core(job: Any, trial_index: int, this_jobs_finished: int) -> int:
|
|
6782
6840
|
|
6783
6841
|
@beartype
|
6784
6842
|
def _finish_previous_jobs_helper_handle_failed_job(job: Any, trial_index: int) -> None:
|
6843
|
+
if ax_client is None:
|
6844
|
+
print_red("ax_client is not defined in _finish_job_core_helper_mark_failure")
|
6845
|
+
return None
|
6846
|
+
|
6785
6847
|
if job:
|
6786
6848
|
try:
|
6787
6849
|
progressbar_description(["job_failed"])
|
@@ -6800,6 +6862,8 @@ def _finish_previous_jobs_helper_handle_failed_job(job: Any, trial_index: int) -
|
|
6800
6862
|
print_debug(f"finish_previous_jobs: removing job {job}, trial_index: {trial_index}")
|
6801
6863
|
global_vars["jobs"].remove((job, trial_index))
|
6802
6864
|
|
6865
|
+
return None
|
6866
|
+
|
6803
6867
|
@beartype
|
6804
6868
|
def _finish_previous_jobs_helper_handle_exception(job: Any, trial_index: int, error: Exception) -> int:
|
6805
6869
|
if "None for metric" in str(error):
|
@@ -7449,6 +7513,10 @@ def get_batched_arms(nr_of_jobs_to_get: int) -> list:
|
|
7449
7513
|
|
7450
7514
|
return []
|
7451
7515
|
|
7516
|
+
if ax_client is None:
|
7517
|
+
print_red("get_batched_arms: ax_client was None")
|
7518
|
+
return []
|
7519
|
+
|
7452
7520
|
while len(batched_arms) != nr_of_jobs_to_get:
|
7453
7521
|
if attempts > args.max_attempts_for_generation:
|
7454
7522
|
print_debug(f"_fetch_next_trials: Stopped after {attempts} attempts: could not generate enough arms "
|
@@ -7534,6 +7602,10 @@ class TrialRejected(Exception):
|
|
7534
7602
|
|
7535
7603
|
@beartype
|
7536
7604
|
def _create_and_handle_trial(arm: Any) -> Optional[Tuple[int, float, bool]]:
|
7605
|
+
if ax_client is None:
|
7606
|
+
print_red("ax_client is None in _create_and_handle_trial")
|
7607
|
+
return None
|
7608
|
+
|
7537
7609
|
start = time.time()
|
7538
7610
|
|
7539
7611
|
if global_gs is None:
|
@@ -9982,44 +10054,48 @@ def main() -> None:
|
|
9982
10054
|
|
9983
10055
|
initialize_ax_client()
|
9984
10056
|
|
9985
|
-
|
10057
|
+
exp_params = get_experiment_parameters([
|
9986
10058
|
cli_params_experiment_parameters,
|
9987
10059
|
experiment_parameters,
|
9988
10060
|
])
|
9989
10061
|
|
9990
|
-
|
10062
|
+
if exp_params is not None:
|
10063
|
+
ax_client, experiment_parameters, experiment_args, gpu_string, gpu_color = exp_params
|
10064
|
+
print_debug(f"experiment_parameters: {experiment_parameters}")
|
9991
10065
|
|
9992
|
-
|
10066
|
+
set_orchestrator()
|
9993
10067
|
|
9994
|
-
|
10068
|
+
show_available_hardware_and_generation_strategy_string(gpu_string, gpu_color)
|
9995
10069
|
|
9996
|
-
|
10070
|
+
original_print(f"Run-Program: {global_vars['joined_run_program']}")
|
9997
10071
|
|
9998
|
-
|
9999
|
-
|
10072
|
+
if args.external_generator:
|
10073
|
+
original_print(f"External-Generator: {decode_if_base64(args.external_generator)}")
|
10000
10074
|
|
10001
|
-
|
10002
|
-
|
10075
|
+
checkpoint_parameters_filepath = f"{get_current_run_folder()}/state_files/checkpoint.json.parameters.json"
|
10076
|
+
save_experiment_parameters(checkpoint_parameters_filepath, experiment_parameters)
|
10003
10077
|
|
10004
|
-
|
10078
|
+
print_overview_tables(experiment_parameters, experiment_args)
|
10005
10079
|
|
10006
|
-
|
10080
|
+
write_files_and_show_overviews()
|
10007
10081
|
|
10008
|
-
|
10009
|
-
|
10082
|
+
for existing_run in args.load_data_from_existing_jobs:
|
10083
|
+
insert_jobs_from_csv(f"{existing_run}/results.csv".replace("//", "/"), experiment_parameters)
|
10010
10084
|
|
10011
|
-
|
10085
|
+
set_global_generation_strategy()
|
10012
10086
|
|
10013
|
-
|
10014
|
-
|
10087
|
+
try:
|
10088
|
+
run_search_with_progress_bar()
|
10015
10089
|
|
10016
|
-
|
10090
|
+
live_share()
|
10017
10091
|
|
10018
|
-
|
10019
|
-
|
10020
|
-
|
10092
|
+
time.sleep(2)
|
10093
|
+
except ax.exceptions.core.UnsupportedError:
|
10094
|
+
pass
|
10021
10095
|
|
10022
|
-
|
10096
|
+
end_program()
|
10097
|
+
else:
|
10098
|
+
print_red("exp_params is None!")
|
10023
10099
|
|
10024
10100
|
@beartype
|
10025
10101
|
def log_worker_creation() -> None:
|
@@ -1842,7 +1842,11 @@ def try_saving_to_db() -> None:
|
|
1842
1842
|
|
1843
1843
|
initialized_storage = True
|
1844
1844
|
|
1845
|
-
|
1845
|
+
if ax_client is not None:
|
1846
|
+
save_experiment_to_db(ax_client.experiment)
|
1847
|
+
else:
|
1848
|
+
print_red("ax_client was not defined in try_saving_to_db")
|
1849
|
+
my_exit(101)
|
1846
1850
|
save_generation_strategy(global_gs)
|
1847
1851
|
except Exception as e:
|
1848
1852
|
print_debug(f"Failed trying to save sqlite3-DB: {e}")
|
@@ -2014,6 +2018,9 @@ def print_logo() -> None:
|
|
2014
2018
|
"Climbing the hyperparameter mountain... Montana Sacra style!",
|
2015
2019
|
"better than OmniOpt1!",
|
2016
2020
|
"Optimizing like it's the Matrix, but I am the One.",
|
2021
|
+
"Not all who wander are lost... just doing a random search.",
|
2022
|
+
"Grid search? Please, I’m doing ballet through parameter space.",
|
2023
|
+
"Hyperparameter tuning: part science, part sorcery.",
|
2017
2024
|
"Channeling my inner Gandalf: ‘You shall not pass... without fine-tuning!’",
|
2018
2025
|
"Inception-level optimization: going deeper with every layer.",
|
2019
2026
|
"Hyperparameter quest: It's dangerous to go alone, take this!",
|
@@ -3908,6 +3915,20 @@ def _evaluate_create_signal_map() -> Dict[str, type[BaseException]]:
|
|
3908
3915
|
"INT-signal": SignalINT
|
3909
3916
|
}
|
3910
3917
|
|
3918
|
+
@beartype
|
3919
|
+
def sanitize_for_evaluate_handle_result(val: Optional[Union[int, float, list, tuple]]) -> Optional[Union[float, Tuple]]:
|
3920
|
+
if val is None:
|
3921
|
+
return None
|
3922
|
+
if isinstance(val, int):
|
3923
|
+
return float(val)
|
3924
|
+
if isinstance(val, float):
|
3925
|
+
return val
|
3926
|
+
if isinstance(val, list):
|
3927
|
+
return tuple(val)
|
3928
|
+
if isinstance(val, tuple):
|
3929
|
+
return val
|
3930
|
+
raise TypeError(f"Unexpected result type: {type(val)}")
|
3931
|
+
|
3911
3932
|
@beartype
|
3912
3933
|
def _evaluate_handle_result(
|
3913
3934
|
stdout: str,
|
@@ -3918,16 +3939,19 @@ def _evaluate_handle_result(
|
|
3918
3939
|
|
3919
3940
|
if isinstance(result, (int, float)):
|
3920
3941
|
for name in arg_result_names:
|
3921
|
-
|
3942
|
+
value = attach_sem_to_result(stdout, name, float(result))
|
3943
|
+
final_result[name] = sanitize_for_evaluate_handle_result(value)
|
3922
3944
|
|
3923
3945
|
elif isinstance(result, list):
|
3924
3946
|
float_values = [float(r) for r in result]
|
3925
3947
|
for name in arg_result_names:
|
3926
|
-
|
3948
|
+
value = attach_sem_to_result(stdout, name, float_values)
|
3949
|
+
final_result[name] = sanitize_for_evaluate_handle_result(value)
|
3927
3950
|
|
3928
3951
|
elif isinstance(result, dict):
|
3929
3952
|
for name in arg_result_names:
|
3930
|
-
|
3953
|
+
value = attach_sem_to_result(stdout, name, result.get(name))
|
3954
|
+
final_result[name] = sanitize_for_evaluate_handle_result(value)
|
3931
3955
|
|
3932
3956
|
else:
|
3933
3957
|
write_failed_logs(parameters, "No Result")
|
@@ -5332,7 +5356,39 @@ def copy_continue_uuid() -> None:
|
|
5332
5356
|
print_debug(f"copy_continue_uuid: Source file does not exist: {source_file}")
|
5333
5357
|
|
5334
5358
|
@beartype
|
5335
|
-
def
|
5359
|
+
def load_ax_client_from_experiment_parameters(experiment_parameters: dict) -> None:
|
5360
|
+
global ax_client
|
5361
|
+
tmp_file_path = get_tmp_file_from_json(experiment_parameters)
|
5362
|
+
ax_client = AxClient.load_from_json_file(tmp_file_path)
|
5363
|
+
ax_client = cast(AxClient, ax_client)
|
5364
|
+
os.unlink(tmp_file_path)
|
5365
|
+
|
5366
|
+
@beartype
|
5367
|
+
def save_checkpoint_for_continued(experiment_parameters: dict) -> None:
|
5368
|
+
state_files_folder = f"{get_current_run_folder()}/state_files"
|
5369
|
+
checkpoint_filepath = f'{state_files_folder}/checkpoint.json'
|
5370
|
+
|
5371
|
+
makedirs(state_files_folder)
|
5372
|
+
|
5373
|
+
with open(checkpoint_filepath, mode="w", encoding="utf-8") as outfile:
|
5374
|
+
json.dump(experiment_parameters, outfile)
|
5375
|
+
|
5376
|
+
if not os.path.exists(checkpoint_filepath):
|
5377
|
+
_fatal_error(f"{checkpoint_filepath} not found. Cannot continue_previous_job without.", 47)
|
5378
|
+
|
5379
|
+
@beartype
|
5380
|
+
def load_original_generation_strategy(experiment_parameters: dict, original_ax_client_file: str) -> dict:
|
5381
|
+
with open(original_ax_client_file, encoding="utf-8") as f:
|
5382
|
+
loaded_original_ax_client_json = json.load(f)
|
5383
|
+
original_generation_strategy = loaded_original_ax_client_json["generation_strategy"]
|
5384
|
+
|
5385
|
+
if original_generation_strategy:
|
5386
|
+
experiment_parameters["generation_strategy"] = original_generation_strategy
|
5387
|
+
|
5388
|
+
return experiment_parameters
|
5389
|
+
|
5390
|
+
@beartype
|
5391
|
+
def get_experiment_parameters(_params: list) -> Optional[Tuple[AxClient, Union[list, dict], dict, str, str]]:
|
5336
5392
|
cli_params_experiment_parameters, experiment_parameters = _params
|
5337
5393
|
|
5338
5394
|
continue_previous_job = args.continue_previous_job
|
@@ -5340,10 +5396,9 @@ def get_experiment_parameters(_params: list) -> Tuple[AxClient, Union[list, dict
|
|
5340
5396
|
|
5341
5397
|
experiment_constraints = get_constraints()
|
5342
5398
|
|
5343
|
-
global ax_client
|
5344
|
-
|
5345
5399
|
if not ax_client:
|
5346
5400
|
_fatal_error("Something went wrong with the ax_client", 9)
|
5401
|
+
return None
|
5347
5402
|
|
5348
5403
|
gpu_string = ""
|
5349
5404
|
gpu_color = "green"
|
@@ -5356,8 +5411,6 @@ def get_experiment_parameters(_params: list) -> Tuple[AxClient, Union[list, dict
|
|
5356
5411
|
checkpoint_file: str = f"{continue_previous_job}/state_files/checkpoint.json"
|
5357
5412
|
checkpoint_parameters_filepath: str = f"{continue_previous_job}/state_files/checkpoint.json.parameters.json"
|
5358
5413
|
original_ax_client_file: str = f"{get_current_run_folder()}/state_files/original_ax_client_before_loading_tmp_one.json"
|
5359
|
-
state_files_folder = f"{get_current_run_folder()}/state_files"
|
5360
|
-
checkpoint_filepath = f'{state_files_folder}/checkpoint.json'
|
5361
5414
|
|
5362
5415
|
die_with_47_if_file_doesnt_exists(checkpoint_parameters_filepath)
|
5363
5416
|
die_with_47_if_file_doesnt_exists(checkpoint_file)
|
@@ -5368,37 +5421,27 @@ def get_experiment_parameters(_params: list) -> Tuple[AxClient, Union[list, dict
|
|
5368
5421
|
|
5369
5422
|
copy_state_files_from_previous_job(continue_previous_job)
|
5370
5423
|
|
5371
|
-
|
5372
|
-
|
5373
|
-
|
5424
|
+
if experiment_parameters is None or "experiment" not in experiment_parameters or "search_space" not in experiment_parameters["experiment"] or "parameters" not in experiment_parameters["experiment"]["search_space"]:
|
5425
|
+
print_red(f"Either, experiment_parameters was empty or it had no path to experiment/search_space/parameters: {experiment_parameters}")
|
5426
|
+
my_exit(95)
|
5427
|
+
else:
|
5428
|
+
replace_parameters_for_continued_jobs(parameter, cli_params_experiment_parameters, experiment_parameters)
|
5374
5429
|
|
5375
|
-
|
5376
|
-
loaded_original_ax_client_json = json.load(f)
|
5377
|
-
original_generation_strategy = loaded_original_ax_client_json["generation_strategy"]
|
5430
|
+
ax_client.save_to_json_file(filepath=original_ax_client_file)
|
5378
5431
|
|
5379
|
-
|
5380
|
-
experiment_parameters["generation_strategy"] = original_generation_strategy
|
5432
|
+
experiment_parameters = load_original_generation_strategy(experiment_parameters, original_ax_client_file)
|
5381
5433
|
|
5382
|
-
|
5383
|
-
ax_client = AxClient.load_from_json_file(tmp_file_path)
|
5384
|
-
ax_client = cast(AxClient, ax_client)
|
5385
|
-
os.unlink(tmp_file_path)
|
5434
|
+
load_ax_client_from_experiment_parameters(experiment_parameters)
|
5386
5435
|
|
5387
|
-
|
5436
|
+
save_checkpoint_for_continued(experiment_parameters)
|
5388
5437
|
|
5389
|
-
|
5390
|
-
|
5438
|
+
with open(f'{get_current_run_folder()}/checkpoint_load_source', mode='w', encoding="utf-8") as f:
|
5439
|
+
print(f"Continuation from checkpoint {continue_previous_job}", file=f)
|
5391
5440
|
|
5392
|
-
|
5393
|
-
_fatal_error(f"{checkpoint_filepath} not found. Cannot continue_previous_job without.", 47)
|
5441
|
+
copy_continue_uuid()
|
5394
5442
|
|
5395
|
-
|
5396
|
-
|
5397
|
-
|
5398
|
-
copy_continue_uuid()
|
5399
|
-
|
5400
|
-
if experiment_constraints:
|
5401
|
-
experiment_args = set_experiment_constraints(experiment_constraints, experiment_args, experiment_parameters["experiment"]["search_space"]["parameters"])
|
5443
|
+
if experiment_constraints:
|
5444
|
+
experiment_args = set_experiment_constraints(experiment_constraints, experiment_args, experiment_parameters["experiment"]["search_space"]["parameters"])
|
5402
5445
|
else:
|
5403
5446
|
objectives = set_objectives()
|
5404
5447
|
|
@@ -6245,6 +6288,9 @@ def insert_job_into_ax_client(arm_params: dict, result: dict, new_job_type: str
|
|
6245
6288
|
|
6246
6289
|
while not done_converting:
|
6247
6290
|
try:
|
6291
|
+
if ax_client is None:
|
6292
|
+
return False
|
6293
|
+
|
6248
6294
|
new_trial = ax_client.attach_trial(arm_params)
|
6249
6295
|
if not isinstance(new_trial, tuple) or len(new_trial) < 2:
|
6250
6296
|
raise RuntimeError("attach_trial didn't return the expected tuple")
|
@@ -6704,6 +6750,10 @@ def _finish_job_core_helper_check_valid_result(result: Union[None, list, int, fl
|
|
6704
6750
|
|
6705
6751
|
@beartype
|
6706
6752
|
def _finish_job_core_helper_complete_trial(trial_index: int, raw_result: dict) -> None:
|
6753
|
+
if ax_client is None:
|
6754
|
+
print_red("ax_client is not defined in _finish_job_core_helper_complete_trial")
|
6755
|
+
return None
|
6756
|
+
|
6707
6757
|
try:
|
6708
6758
|
print_debug(f"Completing trial: {trial_index} with result: {raw_result}...")
|
6709
6759
|
ax_client.complete_trial(trial_index=trial_index, raw_data=raw_result)
|
@@ -6716,6 +6766,8 @@ def _finish_job_core_helper_complete_trial(trial_index: int, raw_result: dict) -
|
|
6716
6766
|
else:
|
6717
6767
|
_fatal_error(f"Error completing trial: {e}", 234)
|
6718
6768
|
|
6769
|
+
return None
|
6770
|
+
|
6719
6771
|
@beartype
|
6720
6772
|
def _finish_job_core_helper_mark_success(_trial: ax.core.trial.Trial, result: Union[float, int, tuple]) -> None:
|
6721
6773
|
print_debug(f"Marking trial {_trial} as completed")
|
@@ -6731,6 +6783,10 @@ def _finish_job_core_helper_mark_success(_trial: ax.core.trial.Trial, result: Un
|
|
6731
6783
|
|
6732
6784
|
@beartype
|
6733
6785
|
def _finish_job_core_helper_mark_failure(job: Any, trial_index: int, _trial: Any) -> None:
|
6786
|
+
if ax_client is None:
|
6787
|
+
print_red("ax_client is not defined in _finish_job_core_helper_mark_failure")
|
6788
|
+
return None
|
6789
|
+
|
6734
6790
|
print_debug(f"Counting job {job} as failed, because the result is {job.result() if job else 'None'}")
|
6735
6791
|
if job:
|
6736
6792
|
try:
|
@@ -6745,6 +6801,8 @@ def _finish_job_core_helper_mark_failure(job: Any, trial_index: int, _trial: Any
|
|
6745
6801
|
mark_trial_as_failed(trial_index, _trial)
|
6746
6802
|
failed_jobs(1)
|
6747
6803
|
|
6804
|
+
return None
|
6805
|
+
|
6748
6806
|
@beartype
|
6749
6807
|
def finish_job_core(job: Any, trial_index: int, this_jobs_finished: int) -> int:
|
6750
6808
|
die_for_debug_reasons()
|
@@ -6782,6 +6840,10 @@ def finish_job_core(job: Any, trial_index: int, this_jobs_finished: int) -> int:
|
|
6782
6840
|
|
6783
6841
|
@beartype
|
6784
6842
|
def _finish_previous_jobs_helper_handle_failed_job(job: Any, trial_index: int) -> None:
|
6843
|
+
if ax_client is None:
|
6844
|
+
print_red("ax_client is not defined in _finish_job_core_helper_mark_failure")
|
6845
|
+
return None
|
6846
|
+
|
6785
6847
|
if job:
|
6786
6848
|
try:
|
6787
6849
|
progressbar_description(["job_failed"])
|
@@ -6800,6 +6862,8 @@ def _finish_previous_jobs_helper_handle_failed_job(job: Any, trial_index: int) -
|
|
6800
6862
|
print_debug(f"finish_previous_jobs: removing job {job}, trial_index: {trial_index}")
|
6801
6863
|
global_vars["jobs"].remove((job, trial_index))
|
6802
6864
|
|
6865
|
+
return None
|
6866
|
+
|
6803
6867
|
@beartype
|
6804
6868
|
def _finish_previous_jobs_helper_handle_exception(job: Any, trial_index: int, error: Exception) -> int:
|
6805
6869
|
if "None for metric" in str(error):
|
@@ -7449,6 +7513,10 @@ def get_batched_arms(nr_of_jobs_to_get: int) -> list:
|
|
7449
7513
|
|
7450
7514
|
return []
|
7451
7515
|
|
7516
|
+
if ax_client is None:
|
7517
|
+
print_red("get_batched_arms: ax_client was None")
|
7518
|
+
return []
|
7519
|
+
|
7452
7520
|
while len(batched_arms) != nr_of_jobs_to_get:
|
7453
7521
|
if attempts > args.max_attempts_for_generation:
|
7454
7522
|
print_debug(f"_fetch_next_trials: Stopped after {attempts} attempts: could not generate enough arms "
|
@@ -7534,6 +7602,10 @@ class TrialRejected(Exception):
|
|
7534
7602
|
|
7535
7603
|
@beartype
|
7536
7604
|
def _create_and_handle_trial(arm: Any) -> Optional[Tuple[int, float, bool]]:
|
7605
|
+
if ax_client is None:
|
7606
|
+
print_red("ax_client is None in _create_and_handle_trial")
|
7607
|
+
return None
|
7608
|
+
|
7537
7609
|
start = time.time()
|
7538
7610
|
|
7539
7611
|
if global_gs is None:
|
@@ -9982,44 +10054,48 @@ def main() -> None:
|
|
9982
10054
|
|
9983
10055
|
initialize_ax_client()
|
9984
10056
|
|
9985
|
-
|
10057
|
+
exp_params = get_experiment_parameters([
|
9986
10058
|
cli_params_experiment_parameters,
|
9987
10059
|
experiment_parameters,
|
9988
10060
|
])
|
9989
10061
|
|
9990
|
-
|
10062
|
+
if exp_params is not None:
|
10063
|
+
ax_client, experiment_parameters, experiment_args, gpu_string, gpu_color = exp_params
|
10064
|
+
print_debug(f"experiment_parameters: {experiment_parameters}")
|
9991
10065
|
|
9992
|
-
|
10066
|
+
set_orchestrator()
|
9993
10067
|
|
9994
|
-
|
10068
|
+
show_available_hardware_and_generation_strategy_string(gpu_string, gpu_color)
|
9995
10069
|
|
9996
|
-
|
10070
|
+
original_print(f"Run-Program: {global_vars['joined_run_program']}")
|
9997
10071
|
|
9998
|
-
|
9999
|
-
|
10072
|
+
if args.external_generator:
|
10073
|
+
original_print(f"External-Generator: {decode_if_base64(args.external_generator)}")
|
10000
10074
|
|
10001
|
-
|
10002
|
-
|
10075
|
+
checkpoint_parameters_filepath = f"{get_current_run_folder()}/state_files/checkpoint.json.parameters.json"
|
10076
|
+
save_experiment_parameters(checkpoint_parameters_filepath, experiment_parameters)
|
10003
10077
|
|
10004
|
-
|
10078
|
+
print_overview_tables(experiment_parameters, experiment_args)
|
10005
10079
|
|
10006
|
-
|
10080
|
+
write_files_and_show_overviews()
|
10007
10081
|
|
10008
|
-
|
10009
|
-
|
10082
|
+
for existing_run in args.load_data_from_existing_jobs:
|
10083
|
+
insert_jobs_from_csv(f"{existing_run}/results.csv".replace("//", "/"), experiment_parameters)
|
10010
10084
|
|
10011
|
-
|
10085
|
+
set_global_generation_strategy()
|
10012
10086
|
|
10013
|
-
|
10014
|
-
|
10087
|
+
try:
|
10088
|
+
run_search_with_progress_bar()
|
10015
10089
|
|
10016
|
-
|
10090
|
+
live_share()
|
10017
10091
|
|
10018
|
-
|
10019
|
-
|
10020
|
-
|
10092
|
+
time.sleep(2)
|
10093
|
+
except ax.exceptions.core.UnsupportedError:
|
10094
|
+
pass
|
10021
10095
|
|
10022
|
-
|
10096
|
+
end_program()
|
10097
|
+
else:
|
10098
|
+
print_red("exp_params is None!")
|
10023
10099
|
|
10024
10100
|
@beartype
|
10025
10101
|
def log_worker_creation() -> None:
|
@@ -3,7 +3,7 @@
|
|
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=MxdwmZkWb35WRc0wHY_5KyC7fj1FgJVRPU60Dpd6GnM,408178
|
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
|
@@ -26,44 +26,44 @@ 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=Reu9Z2mhBTi8pgrCqit_2TDwKTpK1DKPZlp440ATiPE,397
|
30
30
|
requirements.txt,sha256=73KRc-JrFmFO02-Uy_Py88kt6pLDHL6BK0xNWstU_lE,313
|
31
31
|
setup.cfg,sha256=HEc8uu6NpfxG5_AVh5SvXOpEFMNKPPPxgMIAH144vT4,38
|
32
32
|
test_requirements.txt,sha256=hHblJ3DNG2Va76G-dV7ugDhKCc6ZmkpgiUVC-g1exsQ,494
|
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-7344.data/data/bin/.colorfunctions.sh,sha256=xxc08V3Fh_0Je20fkJMRO14u9VCSvMyOiMaDfioEyCY,1098
|
34
|
+
omniopt2-7344.data/data/bin/.general.sh,sha256=uyGMN8xNToQ0v50KoiYxm6jRmgf0orroOaodM_Nuq30,2107
|
35
|
+
omniopt2-7344.data/data/bin/.helpers.py,sha256=6uoxzpi8zfvvQy16LpGkIC1OzvDC8TR8luAOX1iW1OM,30679
|
36
|
+
omniopt2-7344.data/data/bin/.omniopt.py,sha256=MxdwmZkWb35WRc0wHY_5KyC7fj1FgJVRPU60Dpd6GnM,408178
|
37
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_cpu_ram_usage.py,sha256=DbOAmdrbcZtsMnHJgHfeRngjtv6zX5J0axyua_dYezc,3932
|
38
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_general.py,sha256=ZERZJkvVOoJhi7SszmTF1Iln-_08_0Aki48u3LHUW-k,6809
|
39
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_gpu_usage.py,sha256=ojxVicwSoiyl7f3c-6lLuT2EpyPcSJKEcbp75LgDY2k,5107
|
40
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_kde.py,sha256=uRLWr72TDKvj3AqJ0O0AvkKZ1ok1O1QpXnbfQQdo0nA,6873
|
41
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_scatter.py,sha256=-amqmLR_YLCbHImLPh6gwVFv8iiVnXME544XHsRVCuw,8422
|
42
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_scatter_generation_method.py,sha256=rgKY_w1E516c9UucVaEvaKd8tCnoUq9xg-RrYSDzYEQ,4289
|
43
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_scatter_hex.py,sha256=w1L5gL6Bc_QudoSJi2lxEVvF17Apjjb3l2T-lXGnsUg,10279
|
44
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_time_and_exit_code.py,sha256=hC4RFDiJN_UImezFR6M5uVF-QKDqMDpq6R5DIg7dDDc,6463
|
45
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_trial_index_result.py,sha256=5DmqZAQO_PFmzdap-TIhSMAshRXpOHQacnHAtjwnzN4,4629
|
46
|
+
omniopt2-7344.data/data/bin/.omniopt_plot_worker.py,sha256=VuluQq4W6KRR5RU08dxmDSFk5mbfDRkRJQFwwcLgAGw,4524
|
47
|
+
omniopt2-7344.data/data/bin/.random_generator.py,sha256=ezBBUXpez_QaGdpCglMcJ0KZPdQP0XdX5gnLzO1xhwU,2987
|
48
|
+
omniopt2-7344.data/data/bin/.shellscript_functions,sha256=anHc5T0Lm_BzTZTzEIp7cIICu5zdXj1FKL3LnODmHeE,13610
|
49
|
+
omniopt2-7344.data/data/bin/.tpe.py,sha256=Yd9s-ixCbWxTd3x0O1M1sok9QfM2mBEfsDwXhx50-Nc,6464
|
50
|
+
omniopt2-7344.data/data/bin/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
51
|
+
omniopt2-7344.data/data/bin/apt-dependencies.txt,sha256=X5tBB8ZLW9XaFtRh8B7C2pIkSoxNNawqioDr0QZAtuM,149
|
52
|
+
omniopt2-7344.data/data/bin/omniopt,sha256=WNbAGQOvqlmDPZyT3DrFJEg1Xn-QH07cgnq8n4jdRBc,47798
|
53
|
+
omniopt2-7344.data/data/bin/omniopt_docker,sha256=LWVUeyvmA5AKqAHiH9jBUkR5uZ6AHMnSy0eET7mK6E4,3602
|
54
|
+
omniopt2-7344.data/data/bin/omniopt_evaluate,sha256=9oBh0_ikCuIz_aJQZrN0j39NDiIDYoSvEFmSVIoFjJE,23842
|
55
|
+
omniopt2-7344.data/data/bin/omniopt_plot,sha256=Z8ZR10p-ZRSgMeVPO-wVCJ8lk-LQtntjZ9Bk9RifCIs,13360
|
56
|
+
omniopt2-7344.data/data/bin/omniopt_share,sha256=PiO7Vt-dL5aC2uAZZZEYlNbyGjkyMUSeWVoiIURjr3k,13999
|
57
|
+
omniopt2-7344.data/data/bin/requirements.txt,sha256=73KRc-JrFmFO02-Uy_Py88kt6pLDHL6BK0xNWstU_lE,313
|
58
|
+
omniopt2-7344.data/data/bin/setup.py,sha256=g3uEqJHXhggXwgLYoxOjsXg9Z6IV1ubh-Og59AZ264Q,4648
|
59
|
+
omniopt2-7344.data/data/bin/test_requirements.txt,sha256=hHblJ3DNG2Va76G-dV7ugDhKCc6ZmkpgiUVC-g1exsQ,494
|
60
|
+
omniopt2-7344.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
61
|
+
omniopt2.egg-info/PKG-INFO,sha256=zwqKJdjBmkaH_RCBRKOcC4RKqmi26yYqVJ2Qbc5sO5Q,5902
|
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=zqX3ukwAugAeeTE49b6azubs1Gx8T-8D_fJEsKl_cBY,807
|
65
65
|
omniopt2.egg-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
66
|
-
omniopt2-
|
67
|
-
omniopt2-
|
68
|
-
omniopt2-
|
69
|
-
omniopt2-
|
66
|
+
omniopt2-7344.dist-info/METADATA,sha256=zwqKJdjBmkaH_RCBRKOcC4RKqmi26yYqVJ2Qbc5sO5Q,5902
|
67
|
+
omniopt2-7344.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
68
|
+
omniopt2-7344.dist-info/top_level.txt,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
69
|
+
omniopt2-7344.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
|
File without changes
|
{omniopt2-7334.data → omniopt2-7344.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
|
File without changes
|
File without changes
|