Skip to content

Commit 36aef5f

Browse files
authored
Fix problem with Hyperopt Out of Range error (#1315)
1 parent d58b6a1 commit 36aef5f

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

pkg/suggestion/v1beta1/hyperopt/base_service.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,9 @@ def getSuggestions(self, trials, request_number):
181181
# Produce new request_number ids to make new Suggestion
182182
hyperopt_trial_new_ids = self.fmin.trials.new_trial_ids(request_number)
183183
random_state = self.fmin.rstate.randint(2**31 - 1)
184+
185+
# Trial list that must be deployed
186+
new_trials = []
184187
if self.algorithm_name == RANDOM_ALGORITHM_NAME:
185188
new_trials = self.hyperopt_algorithm(
186189
new_ids=hyperopt_trial_new_ids,
@@ -203,7 +206,6 @@ def getSuggestions(self, trials, request_number):
203206
**self.algorithm_conf)
204207
self.is_first_run = False
205208
else:
206-
new_trials = []
207209
for i in range(request_number):
208210
# hyperopt_algorithm always returns one new Trial
209211
new_trials.append(self.hyperopt_algorithm(
@@ -216,9 +218,13 @@ def getSuggestions(self, trials, request_number):
216218

217219
# Construct return advisor Trials from new hyperopt Trials
218220
list_of_assignments = []
219-
for i in range(request_number):
220-
vals = new_trials[i]['misc']['vals']
221+
for trial in new_trials:
222+
vals = trial['misc']['vals']
221223
list_of_assignments.append(BaseHyperoptService.convert(self.search_space, vals))
224+
225+
if len(list_of_assignments) > 0:
226+
logger.info("GetSuggestions returns {} new Trial\n".format(len(new_trials)))
227+
222228
return list_of_assignments
223229

224230
@staticmethod

0 commit comments

Comments
 (0)