Rate this Page

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:

yi=min(max(xi,min_valuei),max_valuei)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])
>>> torch.clamp(a, min=-0.5, max=0.5)
tensor([-0.5000,  0.1734, -0.0478, -0.0922])

>>> min = torch.linspace(-1, 1, steps=4)
>>> torch.clamp(a, min=min)
tensor([-1.0000,  0.1734,  0.3333,  1.0000])