syne_tune.optimizer.schedulers.searchers.bayesopt.gpautograd.independent.gpind_model module

class syne_tune.optimizer.schedulers.searchers.bayesopt.gpautograd.independent.gpind_model.IndependentGPPerResourceModel(kernel, mean_factory, resource_attr_range, target_transform=None, separate_noise_variances=False, initial_noise_variance=None, initial_covariance_scale=None, optimization_config=None, random_seed=None, fit_reset_params=True)[source]

Bases: GaussianProcessOptimizeModel

GP multi-fidelity model over f(x, r), where for each r, f(x, r) is represented by an independent GP. The different processes share the same kernel, but have their own mean functions mu_r and covariance scales c_r.

The likelihood object is not created at construction, but only with create_likelihood. This is because we need to know the rung levels of the Hyperband scheduler.

Parameters:
  • kernel (KernelFunction) – Kernel function without covariance scale, shared by models for all resources r

  • mean_factory (Callable[[int], MeanFunction]) – Factory function for mean functions mu_r(x)

  • resource_attr_range (Tuple[int, int]) – (r_min, r_max)

  • target_transform (Optional[ScalarTargetTransform]) – Invertible transform of target values y to latent values z, which are then modelled as Gaussian. Shared across different \(r\). Defaults to the identity

  • separate_noise_variances (bool) – Separate noise variance for each r? Otherwise, noise variance is shared

  • initial_noise_variance (Optional[float]) – Initial value for noise variance parameter

  • initial_covariance_scale (Optional[float]) – Initial value for covariance scale parameters c_r

  • optimization_config (Optional[OptimizationConfig]) – Configuration that specifies the behavior of the optimization of the marginal likelihood.

  • random_seed – Random seed to be used (optional)

  • fit_reset_params (bool) – Reset parameters to initial values before running ‘fit’? If False, ‘fit’ starts from the current values

create_likelihood(rung_levels)[source]

Delayed creation of likelihood, needs to know rung levels of Hyperband scheduler.

Note: last entry of rung_levels must be max_t, even if this is not a rung level in Hyperband.

Parameters:

rung_levels (List[int]) – Rung levels

property likelihood: MarginalLikelihood