torch.clamp
torch.clamp(input, min=None, max=None, *, out=None) -> Tensor
Clamps all elements in "input" into the range [ "min", "max" ].
   Letting min_value and max_value be "min" and "max", respectively,
   this returns:
  y_i = \min(\max(x_i, \text{min\_value}_i), \text{max\_value}_i)

If "min" is "None", there is no lower bound. Or, if "max" is "None"
   there is no upper bound.
Note:
 If "min" is greater than "max" "torch.clamp(..., min, max)" sets
 all elements in "input" to the value of "max".

Parameters:
      * input (Tensor) -- the input tensor.
  * **min** (*Number** or **Tensor**, **optional*) -- lower-bound
    of the range to be clamped to

  * **max** (*Number** or **Tensor**, **optional*) -- upper-bound
    of the range to be clamped to

Keyword Arguments:
      out (Tensor, optional) -- the output tensor.
Example:
  >>> a = torch.randn(4)
  >>> a
  tensor([-1.7120,  0.1734, -0.0478, -0.0922])
