View source on GitHub |
Abstract base class for different Scalarizers.
tf_agents.bandits.multi_objective.multi_objective_scalarizer.Scalarizer(
num_of_objectives: int
)
The Scalarizer class is a callable that transforms multiple objectives into a single scalar reward.
Args | |
---|---|
num_of_objectives
|
A non-negative integer indicating the number of objectives to scalarize. |
Raises | |
---|---|
ValueError
|
if not isinstance(num_of_objectives, int) .
|
ValueError
|
if num_of_objectives < 2 .
|
Methods
set_parameters
@abc.abstractmethod
set_parameters( **kwargs )
Setter method for scalarization parameters.
__call__
__call__(
multi_objectives: tf.Tensor
) -> tf.Tensor
Returns a single reward by scalarizing multiple objectives.
Args | |
---|---|
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.
Raises | |
---|---|
ValueError
|
if multi_objectives.shape.rank != 2 .
|
ValueError
|
if
multi_objectives.shape.dims[1] != self._num_of_objectives .
|