trieste.models.optimizer
#
This module contains common optimizers based on Optimizer
that can be used
with models. Specific models can also sub-class these optimizers or implement their own, and should
register their loss functions using a create_loss_function()
.
Module Contents#
- DatasetTransformer[source]#
Type alias for a function that converts a
Dataset
to batches of training data.
- OptimizeResult[source]#
Optimization result. TensorFlow optimizer doesn’t return any result. For scipy optimizer that is also commonly used, it is
OptimizeResult
.
- class Optimizer[source]#
Optimizer for training models with all the training data at once.
- optimizer: Any[source]#
The underlying optimizer to use. For example, one of the subclasses of
Optimizer
could be used. Note that we use a flexible type Any to allow for various optimizers that specific models might need to use.
- minimize_args: dict[str, Any][source]#
The keyword arguments to pass to the
minimize()
method of theoptimizer
.
- create_loss(model: tensorflow.Module, dataset: trieste.data.Dataset) LossClosure [source]#
Build a loss function for the specified model with the dataset using a
create_loss_function()
.- Parameters:
model – The model to build a loss function for.
dataset – The data with which to build the loss function.
- Returns:
The loss function.
- optimize(model: tensorflow.Module, dataset: trieste.data.Dataset) OptimizeResult [source]#
Optimize the specified model with the dataset.
- Parameters:
model – The model to optimize.
dataset – The data with which to optimize the model.
- Returns:
The return value of the optimizer’s
minimize()
method.
- class BatchOptimizer[source]#
Bases:
Optimizer
Optimizer for training models with mini-batches of training data.
- create_loss(model: tensorflow.Module, dataset: trieste.data.Dataset) LossClosure [source]#
Build a loss function for the specified model with the dataset.
- Parameters:
model – The model to build a loss function for.
dataset – The data with which to build the loss function.
- Returns:
The loss function.
- optimize(model: tensorflow.Module, dataset: trieste.data.Dataset) None [source]#
Optimize the specified model with the dataset.
- Parameters:
model – The model to optimize.
dataset – The data with which to optimize the model.
- class KerasOptimizer[source]#
Optimizer wrapper for training models implemented with Keras.
- optimizer: tensorflow.keras.optimizers.Optimizer[source]#
The underlying optimizer to use for training the model.
- fit_args: dict[str, Any][source]#
The keyword arguments to pass to the
fit
method of aModel
instance. See https://keras.io/api/models/model_training_apis/#fit-method for a list of possible arguments in the dictionary.
- create_loss_function(model: Any, dataset: TrainingData, compile: bool = False) LossClosure [source]#
Generic function for building a loss function for a specified model and dataset. The implementations depends on the type of the model, which should use this function as a decorator together with its register method to make a model-specific loss function available.
- Parameters:
model – The model to build a loss function for.
dataset – The data with which to build the loss function.
compile – Whether to compile with
tf.function()
.
- Returns:
The loss function.