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