Trieste documentation

Trieste is a research toolbox built on TensorFlow, dedicated to Bayesian optimization, the process of finding the optimal values of an expensive, black-box objective function by employing probabilistic models over observations.

Without loss of generality, Trieste only supports minimizing the objective function. In the simplest case of an objective function with one-dimensional real output \(f: X \mapsto \mathbb R\), this is

\[\mathop{\mathrm{argmin}}_{x \in X} f(x) \qquad .\]

When the objective function has higher-dimensional output, we can still talk of finding the minima, though the optimal values will form a Pareto set rather than a single point. Trieste provides functionality for optimization of single-valued objective functions, and supports extension to the higher-dimensional case. It also supports optimization over constrained spaces, learning the constraints alongside the objective.

Trieste (pronounced tree-est) is named after the bathyscaphe Trieste, the first vehicle to take a crew to Challenger Deep in the Mariana Trench, the lowest point on the Earth’s surface: the literal global minimum.


To install Trieste, run

$ pip install trieste

The library supports Python 3.7 onwards, and uses semantic versioning.

Getting help

  • We welcome contributions. To submit a pull request, file a bug report, or make a feature request, see the contribution guidelines.

  • For more open-ended questions, or for anything else, join the discussions on Trieste channels in Secondmind Labs’ community Slack workspace.