ray.rllib.utils.torch_utils.clip_gradients#
- ray.rllib.utils.torch_utils.clip_gradients(gradients_dict: ParamDict, *, grad_clip: float | None = None, grad_clip_by: str = 'value') numpy.array | jnp.ndarray | tf.Tensor | torch.Tensor [source]#
Performs gradient clipping on a grad-dict based on a clip value and clip mode.
Changes the provided gradient dict in place.
- Parameters:
gradients_dict – The gradients dict, mapping str to gradient tensors.
grad_clip – The value to clip with. The way gradients are clipped is defined by the
grad_clip_by
arg (see below).grad_clip_by – One of ‘value’, ‘norm’, or ‘global_norm’.
- Returns:
If
grad_clip_by`="global_norm" and `grad_clip
is not None, returns the global norm of all tensors, otherwise returns None.