Pytorch.clamp:将小于0的元素修改为0,截断元素的取值空间
torch.clamp(input, min, max, out=None) → Tensor
将输入中每个元素夹紧到[min,max]区间中,算法公式如下:
y
i
=
{
min
if
x
i
<
min
x
i
if
min
≤
x
i
≤
max
max
if
x
i
>
max
y_{i}=\left\{\begin{array}{ll}\min & \text { if } x_{i}<\min \\x_{i} & \text { if } \min \leq x_{i} \leq \max \\\max & \text { if } x_{i}>\max\end{array}\right.
yi=⎩⎨⎧minximax if xi<min if min≤xi≤max if xi>max
例:将小于0的元素修改为0
a = torch.randn(5)
# tensor([-0.8286, 0.4988, -0.5804, 1.0583, 1.6374])
torch.clamp(a,min=0.0)
# tensor([0.0000, 0.4988, 0.0000, 1.0583, 1.6374])
非常好用~
参考: