optunahub.samplers.SimpleBaseSampler
- class optunahub.samplers.SimpleBaseSampler(search_space: dict[str, BaseDistribution] | None = None, seed: int | None = None)[source]
用于实现用户自定义采样器的简单基类。
- __init__(search_space: dict[str, BaseDistribution] | None = None, seed: int | None = None) None [source]
- after_trial(study: Study, trial: FrozenTrial, state: TrialState, values: Sequence[float] | None) None
试验后处理。
此方法在目标函数返回后、试验完成并存储其状态之前调用。
注意
在 v2.4.0 中作为实验性功能添加。接口可能在更高版本中更改,恕不另行通知。请参阅 https://github.com/optuna/optuna/releases/tag/v2.4.0。
- 参数:
study – 目标 Study 对象。
trial – 目标 Trial 对象。在修改此对象之前请复制一份。
state – 试验结果状态。
values – 试验结果值。如果试验成功,保证非
None
。
- before_trial(study: Study, trial: FrozenTrial) None
试验预处理。
此方法在调用目标函数之前、试验实例化之后立即调用。更确切地说,此方法在试验初始化期间调用,就在 `infer_relative_search_space()` 调用之前。换句话说,它负责在推断搜索空间之前应完成的预处理。
注意
在 v3.3.0 中作为实验性功能添加。接口可能在更高版本中更改,恕不另行通知。请参阅 https://github.com/optuna/optuna/releases/tag/v3.3.0。
- 参数:
study – 目标 Study 对象。
trial – 目标 Trial 对象。
- infer_relative_search_space(study: Study, trial: FrozenTrial) dict[str, BaseDistribution] [source]
推断在目标试验中将用于相对采样的搜索空间。
此方法在 `sample_relative()` 方法之前立即调用,此方法返回的搜索空间将传递给它。不在搜索空间中的参数将使用 `sample_independent()` 方法进行采样。
- 参数:
study – 目标 Study 对象。
trial – 目标 Trial 对象。在修改此对象之前请复制一份。
- 返回:
包含参数名称和参数分布的字典。
另请参阅
请参阅 `intersection_search_space()` 作为 `infer_relative_search_space()` 的一种实现。
- reseed_rng() None [source]
重新设置采样器的随机数生成器种子。
如果试验以 `n_jobs>1` 选项并行执行,此方法由 `Study` 实例调用。在这种情况下,采样器实例将被复制,包括随机数生成器的状态,它们可能会建议相同的值。为了防止此问题,此方法为每个随机数生成器分配不同的种子。
- sample_independent(study: Study, trial: FrozenTrial, param_name: str, param_distribution: BaseDistribution) Any [source]
为给定分布采样一个参数。
此方法仅为 `sample_relative()` 方法返回的搜索空间中不包含的参数调用。此方法适用于不使用参数之间关系的采样算法,例如随机采样和 TPE。
注意
内置采样器在采样新参数时会忽略失败的试验。因此,在采样器的视角中,失败的试验被视为已删除。
- 参数:
study – 目标 Study 对象。
trial – 目标 Trial 对象。在修改此对象之前请复制一份。
param_name – 被采样参数的名称。
param_distribution – 指定采样算法先验和/或尺度的分布对象。
- 返回:
参数值。
- abstractmethod sample_relative(study: Study, trial: FrozenTrial, search_space: dict[str, BaseDistribution]) dict[str, Any] [source]
在给定搜索空间中采样参数。
此方法在每次试验开始时调用一次,即在目标函数评估之前立即调用。此方法适用于使用参数之间关系的采样算法,例如高斯过程和 CMA-ES。
注意
内置采样器在采样新参数时会忽略失败的试验。因此,在采样器的视角中,失败的试验被视为已删除。
- 参数:
study – 目标 Study 对象。
trial – 目标 Trial 对象。在修改此对象之前请复制一份。
search_space – 由 `infer_relative_search_space()` 返回的搜索空间。
- 返回:
包含参数名称和值的字典。