ray.tune.search.Searcher#

class ray.tune.search.Searcher(metric: str | None = None, mode: str | None = None)[源代码]#

基类:object

用于包装建议算法的抽象类。

自定义算法可以通过重写 suggest 方法轻松扩展此类,为试验提供生成的参数。

任何实现 __init__ 的子类也必须调用此类构造函数:super(Subclass, self).__init__(...)

为了跟踪建议及其相应的评估,方法 suggest 将传递一个 trial_id,该 ID 将用于后续的通知。

并非所有实现都支持多目标。

给 Tune 开发者的注意:如果添加了新的搜索器,请更新 air/_internal/usage.py

参数:
  • metric – 训练结果目标值属性。如果是列表,则为训练结果目标值属性的列表。

  • mode – 如果字符串为 {min, max} 之一。如果是列表,则为最大值和最小值的列表,确定目标是最小化还是最大化指标属性。必须与指标的类型匹配。

class ExampleSearch(Searcher):
    def __init__(self, metric="mean_loss", mode="min", **kwargs):
        super(ExampleSearch, self).__init__(
            metric=metric, mode=mode, **kwargs)
        self.optimizer = Optimizer()
        self.configurations = {}

    def suggest(self, trial_id):
        configuration = self.optimizer.query()
        self.configurations[trial_id] = configuration

    def on_trial_complete(self, trial_id, result, **kwargs):
        configuration = self.configurations[trial_id]
        if result and self.metric in result:
            self.optimizer.update(configuration, result[self.metric])

tuner = tune.Tuner(
    trainable_function,
    tune_config=tune.TuneConfig(
        search_alg=ExampleSearch()
    )
)
tuner.fit()

开发者API: 此API可能会在Ray的次要版本之间发生变化。

方法

add_evaluated_point

传递从已单独评估的点获得的结果。

add_evaluated_trials

传递已单独评估的试验结果。

on_trial_complete

试用完成的通知。

on_trial_result

训练期间结果的通知(可选)。

restore

恢复此搜索算法的状态

restore_from_dir

从给定的 checkpoint_dir 恢复搜索器的状态。

save

将状态保存到此搜索算法的路径。

save_to_dir

自动将给定的搜索器保存到 checkpoint_dir。

set_max_concurrency

设置此搜索器可以运行的最大并发试验次数。

set_search_properties

将搜索属性传递给搜索器。

suggest

查询算法以检索下一组参数。

属性

CKPT_FILE_TMPL

FINISHED

metric

训练结果目标值属性。

mode

指定是否最小化或最大化指标。