Scalarizes multple objectives by a linear combination.

Inherits From: Scalarizer

weights A Sequence of weights for linearly combining the objectives.
multi_objective_transform A Optional Callable that takes in a tf.Tensor of multiple objective values and applies an arbitrary transform that returns a tf.Tensor of transformed multiple objectives. This transform is applied before the linear scalarization. The transform should apply to each objective so that the shape of the multiobjectives and the transformed multiobjectives are equal. This is verified in _validate_scalarization_parameter_shape via call.



View source

Set the scalarization parameter of the LinearScalarizer.

weights A a rank-2 tf.Tensor of weights shaped as [batch_size, self._num_of_objectives], where batch_size should match the batch size of the multi_objectives passed to the scalarizer call.

ValueError if the weights tensor is not rank-2, or has a last dimension size that does not match self._num_of_objectives.


View source

Returns a single reward by scalarizing multiple objectives.

multi_objectives A Tensor of shape [batch_size, number_of_objectives], where each column represents an objective.

Returns: A Tensor of shape [batch_size] representing scalarized rewards.

ValueError if multi_objectives.shape.rank != 2.
ValueError if multi_objectives.shape.dims[1] != self._num_of_objectives.