ray.rllib.utils.tf_utils.minimize_and_clip(optimizer: torch.optim.Optimizer | tf.keras.optimizers.Optimizer, objective: numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor, var_list: List[tf.Variable], clip_val: float = 10.0) List[Tuple[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor, numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor]] | List[numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor][source]#

Computes, then clips gradients using objective, optimizer and var list.

Ensures the norm of the gradients for each variable is clipped to clip_val.

  • optimizer – Either a shim optimizer (tf eager) containing a tf.GradientTape under self.tape or a tf1 local optimizer object.

  • objective – The loss tensor to calculate gradients on.

  • var_list – The list of tf.Variables to compute gradients over.

  • clip_val – The global norm clip value. Will clip around -clip_val and +clip_val.


The resulting model gradients (list or tuples of grads + vars) corresponding to the input var_list.