• 进入对应区域 smac.optimizer.smbo.SMBO#run
self.aggregate_func
Out[9]: <function smac.optimizer.objective.average_cost(config, run_history, instance_seed_pairs=None)>

找到这个函数,只有一句话:

return np.mean(_cost(config, run_history, instance_seed_pairs))
def _cost(config: Configuration, run_history: RunHistory,
          instance_seed_pairs=None):
    try:
        id_ = run_history.config_ids[config]
    except KeyError:  # challenger was not running so far
        return []

    if instance_seed_pairs is None:
        instance_seed_pairs = run_history.get_runs_for_config(config)

    costs = []
    for i, r in instance_seed_pairs:
        k = RunKey(id_, i, r)
        costs.append(run_history.data[k].cost)
    return costs