| @@ 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.results |
|
| 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": 0.1, |
|
| 109 | "tol_rel": None, |
|
| 110 | } |
|
| 111 | ||
| 112 | start1 = {"x1": 0} |
|
| 113 | start2 = {"x1": 0.1} |
|
| 114 | start3 = {"x1": 0.2} |
|
| 115 | start4 = {"x1": 0.3} |
|
| 116 | start5 = {"x1": 0.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.results |
|
| 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(): |
|