Skip to content

Commit

Permalink
run_configurations_with_black_box_function
Browse files Browse the repository at this point in the history
Cleaned up run_configurations_with_black_box_function to increase readability
  • Loading branch information
ErikOrm committed Sep 6, 2023
1 parent 7f4df28 commit 8988288
Showing 1 changed file with 12 additions and 35 deletions.
47 changes: 12 additions & 35 deletions hypermapper/param/space.py
Original file line number Diff line number Diff line change
Expand Up @@ -677,49 +677,26 @@ def run_configurations_with_black_box_function(
original_configurations = self.convert(configurations, "internal", "original")
objective_values = []
timestamps = []
configurations_run = 0
while configurations_run < len(original_configurations):
if len(original_configurations) > 1:
outputs = black_box_function(
[
{
name: value
for name, value in zip(self.parameter_names, config)
}
for config in original_configurations[
configurations_run : configurations_run
+ self.settings["batch_size"]
]
]
)
for output in outputs:
if isinstance(output, tuple):
output = list(output)
if not (type(output) is list or type(output) is dict):
output = [output]
objective_values.append(output)
timestamps.append(self.current_milli_time() - beginning_of_time)
idx = 0
while idx < len(original_configurations):
configurations_to_run = original_configurations[idx:idx+self.settings["batch_size"]]
bbf_arguments = [{name: value for name, value in zip(self.parameter_names, config)}
for config in configurations_to_run
]
if self.settings["batch_size"] > 1:
outputs = black_box_function(bbf_arguments)
else:
output = black_box_function(
{
name: value
for name, value in zip(
self.parameter_names,
original_configurations[
configurations_run : configurations_run
+ self.settings["batch_size"]
],
)
}
)
outputs = [black_box_function(args) for args in bbf_arguments]

for output in outputs:
if isinstance(output, tuple):
output = list(output)
if not (type(output) is list or type(output) is dict):
output = [output]
objective_values.append(output)
timestamps.append(self.current_milli_time() - beginning_of_time)
configurations_run += self.settings["batch_size"]

idx += self.settings["batch_size"]
output_names = (
self.metric_names
+ ([self.feasible_output_name] if self.enable_feasible_predictor else [])
Expand Down

0 comments on commit 8988288

Please sign in to comment.