@@ 264-311 (lines=48) @@ | ||
261 | assert n_performed_iter == n_iter |
|
262 | ||
263 | ||
264 | @pytest.mark.parametrize(*optimizers) |
|
265 | def test_early_stop_7(Optimizer): |
|
266 | def objective_function(para): |
|
267 | return para["x1"] |
|
268 | ||
269 | search_space = { |
|
270 | "x1": np.arange(0, 100, 0.01), |
|
271 | } |
|
272 | ||
273 | n_iter_no_change = 5 |
|
274 | early_stopping = { |
|
275 | "n_iter_no_change": n_iter_no_change, |
|
276 | "tol_abs": None, |
|
277 | "tol_rel": 10, |
|
278 | } |
|
279 | ||
280 | start1 = {"x1": 1} |
|
281 | start2 = {"x1": 1.09} |
|
282 | start3 = {"x1": 1.20} |
|
283 | ||
284 | warm_start_l = [ |
|
285 | start1, |
|
286 | start1, |
|
287 | start1, |
|
288 | start1, |
|
289 | start1, |
|
290 | start2, |
|
291 | start2, |
|
292 | start2, |
|
293 | start3, |
|
294 | start3, |
|
295 | start3, |
|
296 | ] |
|
297 | n_iter = len(warm_start_l) |
|
298 | ||
299 | opt = Optimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
300 | opt.search( |
|
301 | objective_function, |
|
302 | n_iter=n_iter, |
|
303 | early_stopping=early_stopping, |
|
304 | ) |
|
305 | search_data = opt.search_data |
|
306 | n_performed_iter = len(search_data) |
|
307 | ||
308 | print("\n n_performed_iter \n", n_performed_iter) |
|
309 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
310 | ||
311 | assert n_performed_iter == (n_iter_no_change + 1) |
|
312 | ||
@@ 156-203 (lines=48) @@ | ||
153 | assert n_performed_iter == n_iter |
|
154 | ||
155 | ||
156 | @pytest.mark.parametrize(*optimizers) |
|
157 | def test_early_stop_5(Optimizer): |
|
158 | def objective_function(para): |
|
159 | return para["x1"] |
|
160 | ||
161 | search_space = { |
|
162 | "x1": np.arange(0, 100, 0.01), |
|
163 | } |
|
164 | ||
165 | n_iter_no_change = 5 |
|
166 | early_stopping = { |
|
167 | "n_iter_no_change": n_iter_no_change, |
|
168 | "tol_abs": 0.1, |
|
169 | "tol_rel": None, |
|
170 | } |
|
171 | ||
172 | start1 = {"x1": 0} |
|
173 | start2 = {"x1": 0.09} |
|
174 | start3 = {"x1": 0.20} |
|
175 | ||
176 | warm_start_l = [ |
|
177 | start1, |
|
178 | start1, |
|
179 | start1, |
|
180 | start1, |
|
181 | start1, |
|
182 | start2, |
|
183 | start2, |
|
184 | start2, |
|
185 | start3, |
|
186 | start3, |
|
187 | start3, |
|
188 | ] |
|
189 | n_iter = len(warm_start_l) |
|
190 | ||
191 | opt = Optimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
192 | opt.search( |
|
193 | objective_function, |
|
194 | n_iter=n_iter, |
|
195 | early_stopping=early_stopping, |
|
196 | ) |
|
197 | search_data = opt.search_data |
|
198 | n_performed_iter = len(search_data) |
|
199 | ||
200 | print("\n n_performed_iter \n", n_performed_iter) |
|
201 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
202 | ||
203 | assert n_performed_iter == (n_iter_no_change + 1) |
|
204 | ||
205 | ||
206 | @pytest.mark.parametrize(*optimizers) |
@@ 260-306 (lines=47) @@ | ||
257 | assert n_performed_iter == n_iter |
|
258 | ||
259 | ||
260 | def test_early_stop_7(): |
|
261 | def objective_function(para): |
|
262 | return para["x1"] |
|
263 | ||
264 | search_space = { |
|
265 | "x1": np.arange(0, 100, 0.01), |
|
266 | } |
|
267 | ||
268 | n_iter_no_change = 5 |
|
269 | early_stopping = { |
|
270 | "n_iter_no_change": n_iter_no_change, |
|
271 | "tol_abs": None, |
|
272 | "tol_rel": 10, |
|
273 | } |
|
274 | ||
275 | start1 = {"x1": 1} |
|
276 | start2 = {"x1": 1.09} |
|
277 | start3 = {"x1": 1.20} |
|
278 | ||
279 | warm_start_l = [ |
|
280 | start1, |
|
281 | start1, |
|
282 | start1, |
|
283 | start1, |
|
284 | start1, |
|
285 | start2, |
|
286 | start2, |
|
287 | start2, |
|
288 | start3, |
|
289 | start3, |
|
290 | start3, |
|
291 | ] |
|
292 | n_iter = len(warm_start_l) |
|
293 | ||
294 | opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
295 | opt.search( |
|
296 | objective_function, |
|
297 | n_iter=n_iter, |
|
298 | early_stopping=early_stopping, |
|
299 | ) |
|
300 | search_data = opt.search_data |
|
301 | n_performed_iter = len(search_data) |
|
302 | ||
303 | print("\n n_performed_iter \n", n_performed_iter) |
|
304 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
305 | ||
306 | assert n_performed_iter == (n_iter_no_change + 1) |
|
307 | ||
@@ 154-200 (lines=47) @@ | ||
151 | assert n_performed_iter == n_iter |
|
152 | ||
153 | ||
154 | def test_early_stop_5(): |
|
155 | def objective_function(para): |
|
156 | return para["x1"] |
|
157 | ||
158 | search_space = { |
|
159 | "x1": np.arange(0, 100, 0.01), |
|
160 | } |
|
161 | ||
162 | n_iter_no_change = 5 |
|
163 | early_stopping = { |
|
164 | "n_iter_no_change": n_iter_no_change, |
|
165 | "tol_abs": 10, |
|
166 | "tol_rel": None, |
|
167 | } |
|
168 | ||
169 | start1 = {"x1": 0} |
|
170 | start2 = {"x1": 9} |
|
171 | start3 = {"x1": 20} |
|
172 | ||
173 | warm_start_l = [ |
|
174 | start1, |
|
175 | start1, |
|
176 | start1, |
|
177 | start1, |
|
178 | start1, |
|
179 | start2, |
|
180 | start2, |
|
181 | start2, |
|
182 | start3, |
|
183 | start3, |
|
184 | start3, |
|
185 | ] |
|
186 | n_iter = len(warm_start_l) |
|
187 | ||
188 | opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
189 | opt.search( |
|
190 | objective_function, |
|
191 | n_iter=n_iter, |
|
192 | early_stopping=early_stopping, |
|
193 | ) |
|
194 | search_data = opt.search_data |
|
195 | n_performed_iter = len(search_data) |
|
196 | ||
197 | print("\n n_performed_iter \n", n_performed_iter) |
|
198 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
199 | ||
200 | assert n_performed_iter == (n_iter_no_change + 1) |
|
201 | ||
202 | ||
203 | def test_early_stop_6(): |