跳到内容

助手

smac.acquisition.maximizer.helpers #

ChallengerList #

ChallengerList(
    configspace: ConfigurationSpace,
    challenger_callback: Callable,
    random_design: AbstractRandomDesign
    | None = ProbabilityRandomDesign(
        seed=0, probability=0.08447232371720552
    ),
)

基础类: Iterator

用于在 Challenger 列表中交错插入随机配置的辅助类。

提供一个迭代器,每隔一次迭代返回一个随机配置。这减少了生成新 Challenger 列表所需的时间,因为无需在每次迭代中采样数百个从未被查看过的随机配置。

参数#

configspace : ConfigurationSpace challenger_callback : Callable 回调函数,返回 Challenger 列表(不包含交错的随机配置),必须是一个 Python 闭包。 random_design : AbstractRandomDesign | None, 默认为 ModulusRandomDesign(modulus=2.0) 使用哪种随机设计。

源代码位于 smac/acquisition/maximizer/helpers.py
def __init__(
    self,
    configspace: ConfigurationSpace,
    challenger_callback: Callable,
    random_design: AbstractRandomDesign | None = ProbabilityRandomDesign(seed=0, probability=0.08447232371720552),
):
    self._challengers_callback = challenger_callback
    self._challengers: list[Configuration] | None = None
    self._configspace = configspace
    self._index = 0
    self._iteration = 1  # 1-based to prevent from starting with a random configuration
    self._random_design = random_design