跳到内容

模数设计

smac.random_design.modulus_design #

DynamicModulusRandomDesign #

DynamicModulusRandomDesign(
    start_modulus: float = 2.0,
    modulus_increment: float = 0.3,
    end_modulus: float = inf,
    seed: int = 0,
)

基类: AbstractRandomDesign

间隔地插入一个随机配置,随时间推移减少随机配置的比例。

参数#

start_modulus : float, 默认为 2.0 最初,每隔 modulus 个配置将是随机的。 modulus_increment : float, 默认为 0.3 每次迭代增加的模数。 end_modulus : float, 默认为 np.inf 使用过的最大模数。如果在优化结束前达到此值,将不再增加。如果在优化结束前未达到此值,则不会进行调整以确保达到 end_modulus。 seed : int, 默认为 0 用于初始化随机状态的整数。此类不使用此种子。

源代码位于 smac/random_design/modulus_design.py
def __init__(
    self, start_modulus: float = 2.0, modulus_increment: float = 0.3, end_modulus: float = np.inf, seed: int = 0
):
    super().__init__(seed)
    assert start_modulus > 0
    assert modulus_increment > 0
    assert end_modulus > 0
    assert end_modulus > start_modulus

    if start_modulus <= 1.0 and modulus_increment <= 0.0:
        logger.warning("Using SMAC with random configurations only. ROAR is the better choice for this.")

    self._modulus = start_modulus
    self._start_modulus = start_modulus
    self._modulus_increment = modulus_increment
    self._end_modulus = end_modulus

ModulusRandomDesign #

ModulusRandomDesign(modulus: float = 2.0, seed: int = 0)

基类: AbstractRandomDesign

在贝叶斯优化找到恒定数量的配置后,间隔地插入一个随机配置。

参数#

modulus : float 每隔 modulus 个配置将是随机的。 seed : int 用于初始化随机状态的整数。此类不使用此种子。

源代码位于 smac/random_design/modulus_design.py
def __init__(self, modulus: float = 2.0, seed: int = 0):
    super().__init__(seed)
    assert modulus > 0
    if modulus <= 1.0:
        logger.warning("Using SMAC with random configurations only. ROAR is the better choice for this.")

    self._modulus = modulus

next_iteration #

next_iteration() -> None

表示下一个 SMBO 迭代的开始。

源代码位于 smac/random_design/abstract_random_design.py
def next_iteration(self) -> None:
    """Indicates the beginning of the next SMBO iteration."""
    pass