torch.clamp — PyTorch 2.7 documentation (original) (raw)

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

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])