ray.tune.search.bayesopt.BayesOptSearch#
- class ray.tune.search.bayesopt.BayesOptSearch(space: Dict | None = None, metric: str | None = None, mode: str | None = None, points_to_evaluate: List[Dict] | None = None, utility_kwargs: Dict | None = None, random_state: int = 42, random_search_steps: int = 10, verbose: int = 0, patience: int = 5, skip_duplicate: bool = True, analysis: ExperimentAnalysis | None = None)[源代码]#
基类:
Searcher
使用 fmfn/BayesianOptimization 优化超参数。
fmfn/BayesianOptimization 是一个用于贝叶斯优化的库。更多信息可以在这里找到:fmfn/BayesianOptimization。
此搜索器将自动过滤掉任何 NaN、inf 或 -inf 的结果。
您需要通过以下方式安装 fmfn/BayesianOptimization:
pip install bayesian-optimization
使用
space
初始化此搜索算法时,要求其采用BayesianOptimization
搜索空间格式。否则,您应将 Tune 搜索空间传入Tuner(param_space=...)
,搜索空间将自动为您转换。请参阅此 贝叶斯优化示例笔记本 以获取示例。
- 参数:
space – 连续搜索空间。参数将从该空间中采样,用于运行试验。
metric – 训练结果目标值属性。如果为 None 但传递了模式,则默认使用匿名度量
_metric
。mode – 其中之一 {min, max}。确定目标是最小化还是最大化指标属性。
points_to_evaluate – 初始参数建议首先运行。当你已经有一些好的参数想要首先运行以帮助算法为未来的参数做出更好的建议时,可以使用此功能。需要是一个包含配置的dict列表。
utility_kwargs – 定义效用函数的参数。默认值是一个包含三个键的字典:- kind: ucb (上置信界限) - kappa: 2.576 - xi: 0.0
random_state – 用于初始化贝叶斯优化。
random_search_steps – 初始随机搜索的数量。这是为了避免贝叶斯过程的初始局部过拟合。
verbose – 设置 BayesOpt 包的详细级别。
patience – 如果设置了耐心并且我们重复试验多次,我们将终止实验。
skip_duplicate – 跳过重复配置
analysis – 可选地,集成之前的分析。
Tune 自动将搜索空间转换为 BayesOptSearch 的格式:
from ray import tune from ray.tune.search.bayesopt import BayesOptSearch config = { "width": tune.uniform(0, 20), "height": tune.uniform(-100, 100) } bayesopt = BayesOptSearch(metric="mean_loss", mode="min") tuner = tune.Tuner( my_func, tune_config=tune.TuneConfig( search_alg=baysopt, ), param_space=config, ) tuner.fit()
如果你想手动传递搜索空间,代码会是这样的:
from ray import tune from ray.tune.search.bayesopt import BayesOptSearch space = { 'width': (0, 20), 'height': (-100, 100), } bayesopt = BayesOptSearch(space, metric="mean_loss", mode="min") tuner = tune.Tuner( my_func, tune_config=tune.TuneConfig( search_alg=bayesopt, ), ) tuner.fit()
方法
传递从已单独评估的点获得的结果。
传递已单独评估的试验结果。
试用完成的通知。
训练期间结果的通知(可选)。
将给定的分析整合到高斯过程中。
恢复当前优化器状态。
从给定的 checkpoint_dir 恢复搜索器的状态。
存储当前优化器状态。
自动将给定的搜索器保存到 checkpoint_dir。
设置此搜索器可以运行的最大并发试验次数。
返回由黑箱函数探索的新点。
属性
训练结果目标值属性。
指定是否最小化或最大化指标。