mirror of
https://github.com/microsoft/autogen.git
synced 2025-11-11 23:54:52 +00:00
empty search space (#295)
fix the error when an empty dictionary is passed to BlendSearch as the search space.
This commit is contained in:
parent
49f9e9f86b
commit
00da79a90b
@ -219,7 +219,7 @@ class BlendSearch(Searcher):
|
||||
else:
|
||||
self._candidate_start_points = None
|
||||
self._time_budget_s, self._num_samples = time_budget_s, num_samples
|
||||
if space:
|
||||
if space is not None:
|
||||
self._init_search()
|
||||
|
||||
def set_search_properties(
|
||||
|
||||
@ -5,16 +5,22 @@ try:
|
||||
|
||||
assert ray_version >= "1.0.0"
|
||||
from ray.tune import sample
|
||||
|
||||
use_ray = True
|
||||
except (ImportError, AssertionError):
|
||||
from flaml.tune import sample
|
||||
|
||||
use_ray = False
|
||||
|
||||
from flaml.searcher.suggestion import OptunaSearch, Searcher, ConcurrencyLimiter
|
||||
from flaml.searcher.blendsearch import BlendSearch, CFO, RandomSearch
|
||||
|
||||
|
||||
def define_search_space(trial):
|
||||
trial.suggest_float("a", 6, 8)
|
||||
trial.suggest_float("b", 1e-4, 1e-2, log=True)
|
||||
|
||||
|
||||
def test_searcher():
|
||||
searcher = Searcher()
|
||||
searcher = Searcher(metric=["m1", "m2"], mode=["max", "min"])
|
||||
@ -45,20 +51,20 @@ except (ImportError, AssertionError):
|
||||
mode="max",
|
||||
)
|
||||
config = {"a": sample.uniform(6, 8), "b": sample.loguniform(1e-4, 1e-2)}
|
||||
searcher = OptunaSearch(
|
||||
config,
|
||||
points_to_evaluate=[{"a": 6, "b": 1e-3}],
|
||||
evaluated_rewards=[{"m": 2}],
|
||||
metric="m",
|
||||
mode="max",
|
||||
)
|
||||
# searcher = OptunaSearch(
|
||||
# config,
|
||||
# points_to_evaluate=[{"a": 6, "b": 1e-3}],
|
||||
# evaluated_rewards=[{"m": 2}],
|
||||
# metric="m",
|
||||
# mode="max",
|
||||
# )
|
||||
searcher = OptunaSearch(
|
||||
define_search_space,
|
||||
points_to_evaluate=[{"a": 6, "b": 1e-3}],
|
||||
# evaluated_rewards=[{'m': 2}], metric='m', mode='max'
|
||||
mode="max",
|
||||
)
|
||||
searcher = OptunaSearch()
|
||||
# searcher = OptunaSearch()
|
||||
# searcher.set_search_properties('m', 'min', define_search_space)
|
||||
searcher.set_search_properties("m", "min", config)
|
||||
searcher.suggest("t1")
|
||||
@ -78,9 +84,7 @@ except (ImportError, AssertionError):
|
||||
c = searcher.suggest("t1")
|
||||
searcher.on_trial_complete("t1", {"config": c}, True)
|
||||
c = searcher.suggest("t2")
|
||||
searcher.on_trial_complete(
|
||||
"t2", {"config": c, "m2": 1, "c": 2, "time_total_s": 1}
|
||||
)
|
||||
searcher.on_trial_complete("t2", {"config": c, "m2": 1, "c": 2, "time_total_s": 1})
|
||||
config1 = config.copy()
|
||||
config1["_choice_"] = 0
|
||||
searcher._expand_admissible_region(
|
||||
@ -155,3 +159,10 @@ except (ImportError, AssertionError):
|
||||
print(searcher.suggest("t1"))
|
||||
print(searcher.suggest("t2"))
|
||||
print(searcher.suggest("t3"))
|
||||
searcher = RandomSearch(space={})
|
||||
print(searcher.suggest("t1"))
|
||||
searcher = BlendSearch(space={})
|
||||
print(searcher.suggest("t1"))
|
||||
from flaml import tune
|
||||
|
||||
tune.run(lambda x: 1, config={}, use_ray=use_ray)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user