@@ 206-261 (lines=56) @@ | ||
203 | assert n_performed_iter == (n_iter_no_change + 1) |
|
204 | ||
205 | ||
206 | @pytest.mark.parametrize(*optimizers) |
|
207 | def test_early_stop_6(Optimizer): |
|
208 | def objective_function(para): |
|
209 | return para["x1"] |
|
210 | ||
211 | search_space = { |
|
212 | "x1": np.arange(0, 100, 0.01), |
|
213 | } |
|
214 | ||
215 | n_iter_no_change = 5 |
|
216 | early_stopping = { |
|
217 | "n_iter_no_change": 5, |
|
218 | "tol_abs": None, |
|
219 | "tol_rel": 10, |
|
220 | } |
|
221 | ||
222 | start1 = {"x1": 1} |
|
223 | start2 = {"x1": 1.1} |
|
224 | start3 = {"x1": 1.22} |
|
225 | start4 = {"x1": 1.35} |
|
226 | start5 = {"x1": 1.48} |
|
227 | ||
228 | warm_start_l = [ |
|
229 | start1, |
|
230 | start1, |
|
231 | start1, |
|
232 | start1, |
|
233 | start1, |
|
234 | start2, |
|
235 | start2, |
|
236 | start2, |
|
237 | start3, |
|
238 | start3, |
|
239 | start3, |
|
240 | start4, |
|
241 | start4, |
|
242 | start4, |
|
243 | start5, |
|
244 | start5, |
|
245 | start5, |
|
246 | ] |
|
247 | n_iter = len(warm_start_l) |
|
248 | ||
249 | opt = Optimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
250 | opt.search( |
|
251 | objective_function, |
|
252 | n_iter=n_iter, |
|
253 | early_stopping=early_stopping, |
|
254 | ) |
|
255 | search_data = opt.search_data |
|
256 | n_performed_iter = len(search_data) |
|
257 | ||
258 | print("\n n_performed_iter \n", n_performed_iter) |
|
259 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
260 | ||
261 | assert n_performed_iter == n_iter |
|
262 | ||
263 | ||
264 | @pytest.mark.parametrize(*optimizers) |
|
@@ 98-153 (lines=56) @@ | ||
95 | assert n_performed_iter == (n_iter_no_change + 2) |
|
96 | ||
97 | ||
98 | @pytest.mark.parametrize(*optimizers) |
|
99 | def test_early_stop_4(Optimizer): |
|
100 | def objective_function(para): |
|
101 | return para["x1"] |
|
102 | ||
103 | search_space = { |
|
104 | "x1": np.arange(0, 100, 0.1), |
|
105 | } |
|
106 | ||
107 | n_iter_no_change = 5 |
|
108 | early_stopping = { |
|
109 | "n_iter_no_change": 5, |
|
110 | "tol_abs": 0.1, |
|
111 | "tol_rel": None, |
|
112 | } |
|
113 | ||
114 | start1 = {"x1": 0} |
|
115 | start2 = {"x1": 0.1} |
|
116 | start3 = {"x1": 0.2} |
|
117 | start4 = {"x1": 0.3} |
|
118 | start5 = {"x1": 0.4} |
|
119 | ||
120 | warm_start_l = [ |
|
121 | start1, |
|
122 | start1, |
|
123 | start1, |
|
124 | start1, |
|
125 | start1, |
|
126 | start2, |
|
127 | start2, |
|
128 | start2, |
|
129 | start3, |
|
130 | start3, |
|
131 | start3, |
|
132 | start4, |
|
133 | start4, |
|
134 | start4, |
|
135 | start5, |
|
136 | start5, |
|
137 | start5, |
|
138 | ] |
|
139 | n_iter = len(warm_start_l) |
|
140 | ||
141 | opt = Optimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
142 | opt.search( |
|
143 | objective_function, |
|
144 | n_iter=n_iter, |
|
145 | early_stopping=early_stopping, |
|
146 | ) |
|
147 | search_data = opt.search_data |
|
148 | n_performed_iter = len(search_data) |
|
149 | ||
150 | print("\n n_performed_iter \n", n_performed_iter) |
|
151 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
152 | ||
153 | assert n_performed_iter == n_iter |
|
154 | ||
155 | ||
156 | @pytest.mark.parametrize(*optimizers) |
@@ 203-257 (lines=55) @@ | ||
200 | assert n_performed_iter == (n_iter_no_change + 1) |
|
201 | ||
202 | ||
203 | def test_early_stop_6(): |
|
204 | def objective_function(para): |
|
205 | return para["x1"] |
|
206 | ||
207 | search_space = { |
|
208 | "x1": np.arange(0, 100, 0.01), |
|
209 | } |
|
210 | ||
211 | n_iter_no_change = 5 |
|
212 | early_stopping = { |
|
213 | "n_iter_no_change": 5, |
|
214 | "tol_abs": None, |
|
215 | "tol_rel": 10, |
|
216 | } |
|
217 | ||
218 | start1 = {"x1": 1} |
|
219 | start2 = {"x1": 1.1} |
|
220 | start3 = {"x1": 1.22} |
|
221 | start4 = {"x1": 1.35} |
|
222 | start5 = {"x1": 1.48} |
|
223 | ||
224 | warm_start_l = [ |
|
225 | start1, |
|
226 | start1, |
|
227 | start1, |
|
228 | start1, |
|
229 | start1, |
|
230 | start2, |
|
231 | start2, |
|
232 | start2, |
|
233 | start3, |
|
234 | start3, |
|
235 | start3, |
|
236 | start4, |
|
237 | start4, |
|
238 | start4, |
|
239 | start5, |
|
240 | start5, |
|
241 | start5, |
|
242 | ] |
|
243 | n_iter = len(warm_start_l) |
|
244 | ||
245 | opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
246 | opt.search( |
|
247 | objective_function, |
|
248 | n_iter=n_iter, |
|
249 | early_stopping=early_stopping, |
|
250 | ) |
|
251 | search_data = opt.search_data |
|
252 | n_performed_iter = len(search_data) |
|
253 | ||
254 | print("\n n_performed_iter \n", n_performed_iter) |
|
255 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
256 | ||
257 | assert n_performed_iter == n_iter |
|
258 | ||
259 | ||
260 | def test_early_stop_7(): |
|
@@ 97-151 (lines=55) @@ | ||
94 | assert n_performed_iter == (n_iter_no_change + 1) |
|
95 | ||
96 | ||
97 | def test_early_stop_4(): |
|
98 | def objective_function(para): |
|
99 | return para["x1"] |
|
100 | ||
101 | search_space = { |
|
102 | "x1": np.arange(0, 100, 0.1), |
|
103 | } |
|
104 | ||
105 | n_iter_no_change = 5 |
|
106 | early_stopping = { |
|
107 | "n_iter_no_change": 5, |
|
108 | "tol_abs": 1, |
|
109 | "tol_rel": None, |
|
110 | } |
|
111 | ||
112 | start1 = {"x1": 0} |
|
113 | start2 = {"x1": 1} |
|
114 | start3 = {"x1": 2} |
|
115 | start4 = {"x1": 3} |
|
116 | start5 = {"x1": 4} |
|
117 | ||
118 | warm_start_l = [ |
|
119 | start1, |
|
120 | start1, |
|
121 | start1, |
|
122 | start1, |
|
123 | start1, |
|
124 | start2, |
|
125 | start2, |
|
126 | start2, |
|
127 | start3, |
|
128 | start3, |
|
129 | start3, |
|
130 | start4, |
|
131 | start4, |
|
132 | start4, |
|
133 | start5, |
|
134 | start5, |
|
135 | start5, |
|
136 | ] |
|
137 | n_iter = len(warm_start_l) |
|
138 | ||
139 | opt = HillClimbingOptimizer(search_space, initialize={"warm_start": warm_start_l}) |
|
140 | opt.search( |
|
141 | objective_function, |
|
142 | n_iter=n_iter, |
|
143 | early_stopping=early_stopping, |
|
144 | ) |
|
145 | search_data = opt.search_data |
|
146 | n_performed_iter = len(search_data) |
|
147 | ||
148 | print("\n n_performed_iter \n", n_performed_iter) |
|
149 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
150 | ||
151 | assert n_performed_iter == n_iter |
|
152 | ||
153 | ||
154 | def test_early_stop_5(): |