def test_get_next_candidate(self): exp = Experiment("test", {"x": MinMaxNumericParamDef(0, 1), "y": NominalParamDef(["A", "B", "C"])}) opt = BayesianOptimizer(exp, {"initial_random_runs": 3}) for i in range(5): cand = opt.get_next_candidates()[0] assert_true(isinstance(cand, Candidate)) cand.result = 2 exp.add_finished(cand) opt.update(exp) cands = opt.get_next_candidates(num_candidates=3) assert_less_equal(len(cands), 3)
def test_get_next_candidate(self): exp = Experiment( "test", { "x": MinMaxNumericParamDef(0, 1), "y": NominalParamDef(["A", "B", "C"]) }) opt = BayesianOptimizer(exp, {"initial_random_runs": 3}) for i in range(5): cand = opt.get_next_candidates()[0] assert_true(isinstance(cand, Candidate)) cand.result = 2 exp.add_finished(cand) opt.update(exp) cands = opt.get_next_candidates(num_candidates=3) assert_less_equal(len(cands), 3)
def test_PoI(self): exp = Experiment("test", {"x": MinMaxNumericParamDef(0, 1)}) opt = BayesianOptimizer(exp, {"initial_random_runs": 3, "acquisition": ProbabilityOfImprovement}) assert_true(isinstance(opt.acquisition_function, ProbabilityOfImprovement)) for i in range(3): cands = opt.get_next_candidates(2) cand_one = cands[0] cand_two = cands[1] assert_true(isinstance(cand_one, Candidate)) cand_one.result = 2 exp.add_finished(cand_one) opt.update(exp) assert_true(isinstance(cand_two, Candidate)) cand_two.result = 2 exp.add_finished(cand_two) opt.update(exp) cands = opt.get_next_candidates(num_candidates=3) assert_equal(len(cands), 3)
def test_EI(self): exp = Experiment("test", {"x": MinMaxNumericParamDef(0, 1)}) opt = BayesianOptimizer(exp, {"initial_random_runs": 3, "max_searcher": "LBFGSB"}) for i in range(3): cands = opt.get_next_candidates(2) cand_one = cands[0] cand_two = cands[1] assert_true(isinstance(cand_one, Candidate)) cand_one.result = 2 exp.add_finished(cand_one) opt.update(exp) assert_true(isinstance(cand_two, Candidate)) cand_two.result = 2 exp.add_finished(cand_two) opt.update(exp) cands = opt.get_next_candidates(num_candidates=5) assert_equal(len(cands), 5) opt.acquisition_function.params["multi_searcher"] = "random_best" cands = opt.get_next_candidates(2)
def test_PoI(self): exp = Experiment("test", {"x": MinMaxNumericParamDef(0, 1)}) opt = BayesianOptimizer(exp, { "initial_random_runs": 3, "acquisition": ProbabilityOfImprovement }) assert_true( isinstance(opt.acquisition_function, ProbabilityOfImprovement)) for i in range(3): cands = opt.get_next_candidates(2) cand_one = cands[0] cand_two = cands[1] assert_true(isinstance(cand_one, Candidate)) cand_one.result = 2 exp.add_finished(cand_one) opt.update(exp) assert_true(isinstance(cand_two, Candidate)) cand_two.result = 2 exp.add_finished(cand_two) opt.update(exp) cands = opt.get_next_candidates(num_candidates=3) assert_equal(len(cands), 3)
def test_EI(self): exp = Experiment("test", {"x": MinMaxNumericParamDef(0, 1)}) opt = BayesianOptimizer(exp, { "initial_random_runs": 3, "max_searcher": "LBFGSB" }) for i in range(3): cands = opt.get_next_candidates(2) cand_one = cands[0] cand_two = cands[1] assert_true(isinstance(cand_one, Candidate)) cand_one.result = 2 exp.add_finished(cand_one) opt.update(exp) assert_true(isinstance(cand_two, Candidate)) cand_two.result = 2 exp.add_finished(cand_two) opt.update(exp) cands = opt.get_next_candidates(num_candidates=5) assert_equal(len(cands), 5) opt.acquisition_function.params["multi_searcher"] = "random_best" cands = opt.get_next_candidates(2)