| @@ 68-95 (lines=28) @@ | ||
| 65 | ) |
|
| 66 | ||
| 67 | ||
| 68 | @pytest.mark.parametrize(*optimizers) |
|
| 69 | def test_early_stop_3(Optimizer): |
|
| 70 | def objective_function(para): |
|
| 71 | score = -para["x1"] * para["x1"] |
|
| 72 | return score |
|
| 73 | ||
| 74 | search_space = { |
|
| 75 | "x1": np.arange(0, 1000, 0.01), |
|
| 76 | } |
|
| 77 | ||
| 78 | n_iter_no_change = 5 |
|
| 79 | early_stopping = { |
|
| 80 | "n_iter_no_change": n_iter_no_change, |
|
| 81 | } |
|
| 82 | ||
| 83 | opt = Optimizer(search_space, initialize={"warm_start": [{"x1": 0}], "random": 1}) |
|
| 84 | opt.search( |
|
| 85 | objective_function, |
|
| 86 | n_iter=100000, |
|
| 87 | early_stopping=early_stopping, |
|
| 88 | ) |
|
| 89 | search_data = opt.search_data |
|
| 90 | n_performed_iter = len(search_data) |
|
| 91 | ||
| 92 | print("\n n_performed_iter \n", n_performed_iter) |
|
| 93 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
| 94 | ||
| 95 | assert n_performed_iter == (n_iter_no_change + 2) |
|
| 96 | ||
| 97 | ||
| 98 | @pytest.mark.parametrize(*optimizers) |
|
| @@ 68-94 (lines=27) @@ | ||
| 65 | ) |
|
| 66 | ||
| 67 | ||
| 68 | def test_early_stop_3(): |
|
| 69 | def objective_function(para): |
|
| 70 | score = -para["x1"] * para["x1"] |
|
| 71 | return score |
|
| 72 | ||
| 73 | search_space = { |
|
| 74 | "x1": np.arange(0, 100, 0.1), |
|
| 75 | } |
|
| 76 | ||
| 77 | n_iter_no_change = 5 |
|
| 78 | early_stopping = { |
|
| 79 | "n_iter_no_change": n_iter_no_change, |
|
| 80 | } |
|
| 81 | ||
| 82 | opt = HillClimbingOptimizer(search_space, initialize={"warm_start": [{"x1": 0}]}) |
|
| 83 | opt.search( |
|
| 84 | objective_function, |
|
| 85 | n_iter=100000, |
|
| 86 | early_stopping=early_stopping, |
|
| 87 | ) |
|
| 88 | search_data = opt.search_data |
|
| 89 | n_performed_iter = len(search_data) |
|
| 90 | ||
| 91 | print("\n n_performed_iter \n", n_performed_iter) |
|
| 92 | print("\n n_iter_no_change \n", n_iter_no_change) |
|
| 93 | ||
| 94 | assert n_performed_iter == (n_iter_no_change + 1) |
|
| 95 | ||
| 96 | ||
| 97 | def test_early_stop_4(): |
|