torch.clamp

torch.clamp(input, min=None, max=None, *, out=None) Tensor

input中的所有元素限制在范围[ min, max ]内。设min_valuemax_value分别为minmax,则返回:

$y_i = \min(\max(x_i, \text{min\_value}_i), \text{max\_value}_i)$

如果 minNone,则不存在下界。或者,如果 maxNone,则不存在上界。

注意

如果min 大于maxtorch.clamp(..., min, max) 将把input 中的所有元素设置为max 的值。

参数
  • input (Tensor) – 需要输入的张量。

  • min (NumberTensor可选) – 范围的下限

  • max (NumberTensor, 可选) – 范围的上界,用于夹紧操作

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> 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])
本页目录