Surrogate

class baybe.surrogates.base.Surrogate[source]

Bases: ABC, SerialMixin

Abstract base class for all surrogate models.

Public methods

__init__([model_params])

Method generated by attrs for class Surrogate.

fit(searchspace, train_x, train_y)

Train the surrogate model on the provided data.

from_dict(dictionary)

Create an object from its dictionary representation.

from_json(string)

Create an object from its JSON representation.

posterior(candidates)

Evaluate the surrogate model at the given candidate points.

to_dict()

Create an object's dictionary representation.

to_json()

Create an object's JSON representation.

Public attributes and properties

model_params

Optional model parameters.

joint_posterior

Class variable encoding whether or not a joint posterior is calculated.

supports_transfer_learning

Class variable encoding whether or not the surrogate supports transfer learning.

__init__(model_params: dict[str, Any] = NOTHING)

Method generated by attrs for class Surrogate.

For details on the parameters, see Public attributes and properties.

fit(searchspace: SearchSpace, train_x: Tensor, train_y: Tensor)[source]

Train the surrogate model on the provided data.

Parameters:
  • searchspace (SearchSpace) – The search space in which experiments are conducted.

  • train_x (Tensor) – The training data points.

  • train_y (Tensor) – The training data labels.

Raises:
  • ValueError – If the search space contains task parameters but the selected surrogate model type does not support transfer learning.

  • NotImplementedError – When using a continuous search space and a non-GP model.

Return type:

None

classmethod from_dict(dictionary: dict)

Create an object from its dictionary representation.

Parameters:

dictionary (dict) – The dictionary representation.

Return type:

TypeVar(_T)

Returns:

The reconstructed object.

classmethod from_json(string: str)

Create an object from its JSON representation.

Parameters:

string (str) – The JSON representation of the object.

Return type:

TypeVar(_T)

Returns:

The reconstructed object.

posterior(candidates: Tensor)[source]

Evaluate the surrogate model at the given candidate points.

Parameters:

candidates (Tensor) – The candidate points, represented as a tensor of shape (*t, q, d), where t denotes the “t-batch” shape, q denotes the “q-batch” shape, and d is the input dimension. For more details about batch shapes, see: https://botorch.org/docs/batching

Return type:

tuple[Tensor, Tensor]

Returns:

The posterior means and posterior covariance matrices of the t-batched candidate points.

to_dict()

Create an object’s dictionary representation.

Return type:

dict

to_json()

Create an object’s JSON representation.

Return type:

str

Returns:

The JSON representation as a string.

joint_posterior: ClassVar[bool]

Class variable encoding whether or not a joint posterior is calculated.

model_params: dict[str, Any]

Optional model parameters.

supports_transfer_learning: ClassVar[bool]

Class variable encoding whether or not the surrogate supports transfer learning.