<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/probability/blob/v0.25.0/tensorflow_probability/python/experimental/bayesopt/acquisition/acquisition_function.py#L26-L92) |

Base class for acquisition functions.

    tfp.experimental.bayesopt.acquisition.AcquisitionFunction(
        predictive_distribution, observations, seed=None
    )

Acquisition Functions are (relatively) inexpensive functions that guide
Bayesian Optimization search. Typically, their values at points will
correspond to how desirable it is to evaluate the function at that point.
This desirability can come in the form of improving information about the
black box function (exploration) or trying to find an extrema given past
evaluations (exploitation).

TFP acquisition functions are callable objects that may be instantiated with
subclass-specific parameters. This design enables expensive one-time
computation to be run in `__init__` before the acquisition function is called
repeatedly, for example during optimization. The `AcquisitionFunction` base
class is instantiated with a predictive distribution (typically an instance of
`tfd.GaussianProcessRegressionModel`, `tfd.StudentTProcessRegressionModel`, or
[`tfp.experimental.distributions.MultiTaskGaussianProcessRegressionModel`](https://www.tensorflow.org/probability/api_docs/python/tfp/experimental/distributions/MultiTaskGaussianProcessRegressionModel)),
previously-observed function values, and an optional random seed. The
`__call__` method evaluates the acquisition function.

<br />

<br />

<br />

| ## Args ||
|---|---|
| `predictive_distribution` | `tfd.Distribution`-like, the distribution over observations at a set of index points. |
| `observations` | `Float` `Tensor` of observations. |
| `seed` | PRNG seed; see tfp.random.sanitize_seed for details. |

<br />

<br />

<br />

<br />

| ## Attributes ||
|---|---|
| `is_parallel` | Python `bool` indicating whether the acquisition function is parallel. <br /> Parallel (batched) acquisition functions evaluate batches of points rather than single points. |
| `observations` | Float `Tensor` of observations. |
| `predictive_distribution` | The distribution over observations at a set of index points. |
| `seed` | PRNG seed. |

<br />

## Methods

### `__call__`

[View source](https://github.com/tensorflow/probability/blob/v0.25.0/tensorflow_probability/python/experimental/bayesopt/acquisition/acquisition_function.py#L91-L92)

    __call__(
        **kwargs
    )

Call self as a function.