ray.tune.schedulers.AsyncHyperBandScheduler#
- class ray.tune.schedulers.AsyncHyperBandScheduler(time_attr: str = 'training_iteration', metric: str | None = None, mode: str | None = None, max_t: int = 100, grace_period: int = 1, reduction_factor: float = 4, brackets: int = 1, stop_last_trials: bool = True)[源代码]#
-
实现异步连续减半。
这应该提供与HyperBand类似的理论性能,但避免了HyperBand面临的滞后问题。一个实现细节是,当使用多个括号时,试验分配到括号是基于一个softmax概率随机进行的。
参见 https://arxiv.org/abs/1810.05934
- 参数:
time_attr – 用于比较时间的训练结果属性。请注意,您可以传入非时间性的内容,例如
training_iteration
作为进度的度量,唯一的要求是该属性应单调递增。metric – 训练结果目标值属性。停止程序将使用此属性。如果为 None 但传递了模式,则默认使用
ray.tune.result.DEFAULT_METRIC
。mode – 其中之一 {min, max}。确定目标是最小化还是最大化指标属性。
max_t – 每个试验的最大时间单位。试验将在超过 max_t 时间单位(由 time_attr 决定)后停止。
grace_period – 只有在时间上至少达到这个年龄的试验才会停止。单位与
time_attr
属性指定的单位相同。reduction_factor – 用于设置减半率和数量。这只是一个无量纲的标量。
brackets – 括号的数量。每个括号都有一个不同的减半率,由减小因子指定。
stop_last_trials – 在达到 max_t 后是否终止试验。默认为 True。
- set_search_properties(metric: str | None, mode: str | None, **spec) bool [源代码]#
将搜索属性传递给调度器。
此方法作为实例化调度器的替代方案,这些调度器通过其自身的
metric
和mode
参数对指标做出反应。- 参数:
metric – 优化指标
mode – [“min”, “max”] 之一。优化的方向。
**spec – 任何用于向前兼容的 kwargs。例如 Experiment.PUBLIC_KEYS 等信息通过这里提供。
- on_trial_result(tune_controller: TuneController, trial: Trial, result: Dict) str [源代码]#
在每次试验返回的中间结果上调用。
此时,试验调度器可以通过返回 CONTINUE、PAUSE 或 STOP 之一来做出决定。这仅在试验处于 RUNNING 状态时调用。
- on_trial_complete(tune_controller: TuneController, trial: Trial, result: Dict)[源代码]#
试用完成的通知。
这仅在试验处于 RUNNING 状态且自然完成或通过手动终止时调用。