API Reference#

Module contents#

class bayex.Optimizer(domain, acq='EI', maximize=False)#

Bases: object

Bayesian optimizer using Gaussian Processes and acquisition functions.

This class manages the optimization loop for expensive black-box functions by modeling them with a Gaussian Process and selecting samples via acquisition functions such as EI, PI, UCB, or LCB.

expand(opt_state)#

Expands internal buffers if no space is available.

Parameters:

opt_state (OptimizerState) – Current optimizer state.

Returns:

OptimizerState with expanded storage.

fit(opt_state, y, new_params)#

Updates optimizer state with a new observation.

Parameters:
  • opt_state – Current optimizer state.

  • y – New objective value.

  • new_params – Parameters that produced y.

Returns:

Updated OptimizerState.

init(ys, params, noise_scale=-8.0)#

Initializes the optimizer state from initial data.

Parameters:
  • ys (Array) – Objective values for the initial parameters.

  • params (dict) – Dict of parameter arrays (same keys as domain).

Returns:

Initialized OptimizerState.

sample(key, state, size=10000)#

Samples new parameters using the acquisition function.

Parameters:
  • key – JAX PseudoRandom key for random sampling.

  • opt_state – Current optimizer state.

  • size – Number of samples to draw.

  • has_prior – If True, also return GP predictions.

Returns:

Sampled parameters (dict), and optionally (xs_samples, means, stds).