trieste.acquisition.combination#

Module Contents#

class Reducer(*builders: trieste.acquisition.interface.AcquisitionFunctionBuilder[trieste.models.ProbabilisticModelType])[source]#

Bases: trieste.acquisition.interface.AcquisitionFunctionBuilder[trieste.models.ProbabilisticModelType]

A Reducer builds an AcquisitionFunction whose output is calculated from the outputs of a number of other AcquisitionFunctions. How these outputs are composed is defined by the method _reduce().

Parameters:

*builders – Acquisition function builders. At least one must be provided.

Raises:

InvalidArgumentError – If no builders are specified.

property acquisitions: collections.abc.Sequence[trieste.acquisition.interface.AcquisitionFunctionBuilder[trieste.models.ProbabilisticModelType]][source]#

The acquisition function builders specified at class initialisation.

prepare_acquisition_function(models: collections.abc.Mapping[trieste.types.Tag, trieste.models.ProbabilisticModelType], datasets: collections.abc.Mapping[trieste.types.Tag, trieste.data.Dataset] | None = None) trieste.acquisition.interface.AcquisitionFunction[source]#

Return an acquisition function. This acquisition function is defined by first building acquisition functions from each of the AcquisitionFunctionBuilders specified at __init__(), then reducing, with _reduce(), the output of each of those acquisition functions.

Parameters:
  • datasets – The data from the observer.

  • models – The models over each dataset in datasets.

Returns:

The reduced acquisition function.

update_acquisition_function(function: trieste.acquisition.interface.AcquisitionFunction, models: collections.abc.Mapping[trieste.types.Tag, trieste.models.ProbabilisticModelType], datasets: collections.abc.Mapping[trieste.types.Tag, trieste.data.Dataset] | None = None) trieste.acquisition.interface.AcquisitionFunction[source]#
Parameters:
  • function – The acquisition function to update.

  • models – The model.

  • datasets – Unused.

abstract _reduce(inputs: collections.abc.Sequence[trieste.types.TensorType]) trieste.types.TensorType[source]#
Parameters:

inputs – The output of each constituent acquisition function.

Returns:

The output of the reduced acquisition function.

class Sum(*builders: trieste.acquisition.interface.AcquisitionFunctionBuilder[trieste.models.ProbabilisticModelType])[source]#

Bases: Reducer[trieste.models.ProbabilisticModelType]

Reducer whose resulting acquisition function returns the element-wise sum of the outputs of constituent acquisition functions.

Parameters:

*builders – Acquisition function builders. At least one must be provided.

Raises:

InvalidArgumentError – If no builders are specified.

_reduce(inputs: collections.abc.Sequence[trieste.types.TensorType]) trieste.types.TensorType[source]#
Parameters:

inputs – The outputs of each acquisition function.

Returns:

The element-wise sum of the inputs.

class Product(*builders: trieste.acquisition.interface.AcquisitionFunctionBuilder[trieste.models.ProbabilisticModelType])[source]#

Bases: Reducer[trieste.models.ProbabilisticModelType]

Reducer whose resulting acquisition function returns the element-wise product of the outputs of constituent acquisition functions.

Parameters:

*builders – Acquisition function builders. At least one must be provided.

Raises:

InvalidArgumentError – If no builders are specified.

_reduce(inputs: collections.abc.Sequence[trieste.types.TensorType]) trieste.types.TensorType[source]#
Parameters:

inputs – The outputs of each acquisition function.

Returns:

The element-wise product of the inputs.

class Map(map_fn: Callable[[trieste.types.TensorType], trieste.types.TensorType], builder: trieste.acquisition.interface.AcquisitionFunctionBuilder[trieste.models.ProbabilisticModelType])[source]#

Bases: Reducer[trieste.models.ProbabilisticModelType]

Reducer that accepts just one acquisition function builder and applies a given function to its output. For example Map(lambda x: -x, builder) would generate an acquisition function that returns the negative of the output of builder.

Parameters:
  • map_fn – Function to apply.

  • builder – Acquisition function builder.

_reduce(inputs: collections.abc.Sequence[trieste.types.TensorType]) trieste.types.TensorType[source]#
Parameters:

inputs – The outputs of the acquisition function.

Returns:

The result of applying the map function to inputs.