跳到内容

停止标准#

除了试验次数或时钟时间等标准停止标准外,SMAC 还提供了更高级的标准。

终止成本阈值#

SMAC 可以在达到用户定义的成本后停止优化过程。在每次迭代中,会将当前最佳配置的平均成本(使用运行历史中的 average_cost)与终止成本阈值进行比较。如果其中一个目标成本低于其关联的终止成本阈值,则优化过程停止。请注意,由于使用了 average_cost 方法,因此会考虑当前最佳配置迄今为止的所有实例-种子-预算试验。换句话说,即使当前最佳配置尚未在所有实例、最高保真度或所有种子上进行评估,过程也可能停止。

scenario = Scenario(
    ...
    objectives=["accuracy", "runtime"],
    termination_cost_threshold=[0.1, np.inf]
    ...
)

在上面的代码中,如果当前最佳配置的平均准确率低于 0.1,则优化过程将停止。由于运行时被设置为无穷大,因此完全忽略运行时。请再次注意,SMAC 是最小化目标值。

自动停止#

即将推出。😊