ray.tune.schedulers.resource_changing_scheduler.DistributeResourcesToTopJob#
- class ray.tune.schedulers.resource_changing_scheduler.DistributeResourcesToTopJob(add_bundles: bool = False, increase_by: Dict[str, float] | None = None, increase_by_times: int = -1, reserve_resources: Dict[str, float] | None = None, metric: str | None = None, mode: str | None = None)[源代码]#
-
此类创建一个“TopJob”资源分配函数。
该函数将把所有空闲资源分配给表现最佳的试验(根据
metric
和mode
定义)。之前的最佳试验不会被剥夺资源,除非在下面概述的情况下。如果由于某些原因,一个试验最终获得的资源超过了可用资源,它将会向下调整。同时,它也会确保该试验至少拥有与开始时相同的资源(
base_trial_resource
)。该函数返回一个更新了资源需求的新
PlacementGroupFactory
,或者返回 None。如果返回的PlacementGroupFactory
在值上与试验当前的相同,调度器将在内部跳过更新过程(与返回 None 相同)。- 参数:
add_bundles – 如果为真,从免费资源创建新的资源包。否则,将它们分散在 base_trial_resource 资源包中。
increase_by – 一个包含键值对的字典,表示试验将增加的资源(名称-数量)的原子单位。如果未设置,试验将增加1个CPU/GPU。
increase_by_times – 如果设置为 >=1 并且
increase_by
已设置,试验将增加最多increase_by_times * increase_by
资源。如果设置为 <1,则不设置上限。如果increase_by
未设置,则忽略此项。reserve_resources – 一个资源名称-数量对的字典,表示不会分配给调整大小的试验的资源。属性应单调递增。
metric – 训练结果目标值属性。停止程序将使用此属性。如果为 None,将使用调度器的指标。
mode – 其中之一 {min, max}。确定目标是最小化还是最大化指标属性。如果为 None,将使用调度器的指标。
PublicAPI (测试版): 此API目前处于测试阶段,在成为稳定版本之前可能会发生变化。
方法