syne_tune.optimizer.schedulers.searchers.cost_aware.cost_aware_gp_multifidelity_searcher module

class syne_tune.optimizer.schedulers.searchers.cost_aware.cost_aware_gp_multifidelity_searcher.MultiModelGPMultiFidelitySearcher(config_space, metric, points_to_evaluate=None, **kwargs)[source]

Bases: GPMultiFidelitySearcher

Superclass for multi-model extensions of GPMultiFidelitySearcher. We first call _create_internal() passing factory and skip_optimization predicate for the INTERNAL_METRIC_NAME model, then replace the state transformer by a multi-model one.

class syne_tune.optimizer.schedulers.searchers.cost_aware.cost_aware_gp_multifidelity_searcher.CostAwareGPMultiFidelitySearcher(config_space, metric, points_to_evaluate=None, **kwargs)[source]

Bases: MultiModelGPMultiFidelitySearcher

Gaussian process-based cost-aware multi-fidelity hyperparameter optimization (to be used with HyperbandScheduler). The searcher requires a cost metric, which is given by cost_attr.

The acquisition function used here is the same as in GPMultiFidelitySearcher, but expected improvement (EI) is replaced by EIpu (see EIpuAcquisitionFunction).

Cost values are read from each report and cost is modeled as \(c(x, r)\), the cost model being given by kwargs["cost_model"].

Additional arguments on top of parent class GPMultiFidelitySearcher:

  • cost_attr (str) – Mandatory. Name of cost attribute in data obtained from reporter (e.g., elapsed training time). Depending on whether resource_attr is given, cost values are read from each report or only at the end.

  • resource_attr (str) – Name of resource attribute in reports. Cost values are read from each report and cost is modeled as \(c(x, r)\), the cost model being given by cost_model.

  • cost_model (CostModel, optional) – Model for \(c(x, r)\)


Together with get_state(), this is needed in order to store and re-create the mutable state of the searcher.

Given state as returned by get_state(), this method combines the non-pickle-able part of the immutable state from self with state and returns the corresponding searcher clone. Afterwards, self is not used anymore.


state – See above


New searcher object