评价此页

torch.clamp#

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

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

yi=min(max(xi,min_valuei),max_valuei)y_i = \min(\max(x_i, \text{min\_value}_i), \text{max\_value}_i)

如果 minNone,则没有下限。或者,如果 maxNone 则没有上限。

注意

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

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

  • min (数值Tensor可选) – 要钳制到的范围下限

  • max (数值Tensor可选) – 要钳制到的范围上限

关键字参数

out (Tensor, optional) – 输出张量。

示例

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