torch.clamp(input, min=None, max=None, *, out=None) → Tensor
将输入tensor(input)的所有元素大小限制在[min, max]之间
如果min=None,则没有下限。
如果max=None,则没有上限。
如果 min 大于 max torch.clamp(..., min, max) 将输入中的所有元素设置为 max 的值
举例说明
>>>a = torch.randn(4)
>>>a
tensor([-1.3726, -2.3312, 0.8068, -0.0422])
>>>torch.clamp(a, min=-0.1, max=1.0)
tensor([-0.1000, -0.1000, 0.8068, -0.0422])
特殊用法
用 与input相同大小的tensor 给min或者max赋值,会对同一位置的元素大小进行比较
>>> a = torch.randn(4)
>>> a
tensor([-1.3726, -2.3312, 0.8068, -0.0422])
>>> minlst = torch.linspace(-1, 1, steps=4)
>>> minlst
tensor([-1.0000, -0.3333, 0.3333, 1.0000])
>>> torch.clamp(a, min=minlst)
tensor([-1.0000, -0.3333, 0.8068, 1.0000])