Pytorch 技巧 torch.clamp_ 限定输入矩阵内的值到指定范围内

torch.clamp(input, min, max, 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:
将input内的值限定在(min,max)区间内。
y i = min ⁡ ( max ⁡ ( x i , min_value i ) , max_value i ) y_i = \min(\max(x_i, \text{min\_value}_i), \text{max\_value}_i) yi=min(max(xi,min_valuei),max_valuei)
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])

猜你喜欢

转载自blog.csdn.net/qq_44554428/article/details/123311138