File tree Expand file tree Collapse file tree 1 file changed +8
-2
lines changed
src/gradient_free_optimizers/optimizers/core_optimizer Expand file tree Collapse file tree 1 file changed +8
-2
lines changed Original file line number Diff line number Diff line change 88from functools import reduce
99from typing import Optional
1010
11+ from ..._result import Result
12+
1113
1214def check_numpy_array (search_space ):
1315 for para_name , dim_values in search_space .items ():
@@ -149,14 +151,18 @@ def positions_scores2memory_dict(
149151 self , positions : Optional [list ], scores : Optional [list ]
150152 ) -> Optional [dict ]:
151153 value_tuple_list = list (map (tuple , positions ))
152- memory_dict = dict (zip (value_tuple_list , scores ))
154+ # Convert scores to Result objects
155+ result_objects = [Result (float (score ), {}) for score in scores ]
156+ memory_dict = dict (zip (value_tuple_list , result_objects ))
153157
154158 return memory_dict
155159
156160 @returnNoneIfArgNone
157161 def memory_dict2positions_scores (self , memory_dict : Optional [dict ]):
158162 positions = [np .array (pos ).astype (int ) for pos in list (memory_dict .keys ())]
159- scores = list (memory_dict .values ())
163+ # Extract scores from Result objects
164+ scores = [result .score if isinstance (result , Result ) else result
165+ for result in memory_dict .values ()]
160166
161167 return positions , scores
162168
You can’t perform that action at this time.
0 commit comments