| @@ 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(): |
|