Pytorch clamp理解
torch.clamp(input, min, max, out=None) → Tensor
将输入input
张量每个元素的夹紧到区间 [min,max]
,并返回结果到一个新张量。
操作定义如下:
| min, if x_i < min
y_i = | x_i, if min <= x_i <= max
| max, if x_i > max
如果输入是FloatTensor or DoubleTensor类型,则参数min
max
必须为实数,否则须为整数。【译注:似乎并非如此,无关输入类型,min
, max
取整数、实数皆可。】
参数:
- input (Tensor) – 输入张量
- min (Number) – 限制范围下限
- max (Number) – 限制范围上限
- out (Tensor, optional) – 输出张量
例子:
>>> a = torch.randn(4)
>>> a
-1.4511
-0.6812
0.3302
-1.7423
[torch.FloatTensor of size 4]
>>> torch.clamp(a, min=-0.5, max=0.5)
-0.5000
-0.5000
0.3302
-0.5000
[torch.FloatTensor of size 4]
torch.clamp(input, *, min, out=None) → Tensor
a.clamp_(min=-0.5,max=0.5) #另一种实现方法
-0.5000
-0.5000
0.3302
-0.5000
[torch.FloatTensor of size 4]
将输入input
张量每个元素的限制到不小于min
,并返回结果到一个新张量。
如果输入是FloatTensor or DoubleTensor类型,则参数 min
必须为实数,否则须为整数。【译注:似乎并非如此,无关输入类型,min
取整数、实数皆可。】
参数:
- input (Tensor) – 输入张量
- value (Number) – 限制范围下限
- out (Tensor, optional) – 输出张量
例子:
>>> a = torch.randn(4)
>>> a
1.3869
0.3912
-0.8634
-0.5468
[torch.FloatTensor of size 4]
>>> torch.clamp(a, min=0.5)
1.3869
0.5000
0.5000
0.5000
[torch.FloatTensor of size 4]
torch.clamp(input, *, max, out=None) → Tensor
将输入input
张量每个元素的限制到不大于max
,并返回结果到一个新张量。
扫描二维码关注公众号,回复:
4724836 查看本文章
如果输入是FloatTensor or DoubleTensor类型,则参数 max
必须为实数,否则须为整数。【译注:似乎并非如此,无关输入类型,max
取整数、实数皆可。】
参数:
- input (Tensor) – 输入张量
- value (Number) – 限制范围上限
- out (Tensor, optional) – 输出张量
例子:
>>> a = torch.randn(4)
>>> a
1.3869
0.3912
-0.8634
-0.5468
[torch.FloatTensor of size 4]
>>> torch.clamp(a, max=0.5)
0.5000
0.3912
-0.8634
-0.5468
[torch.FloatTensor of size 4]
参考:
https://pytorch-cn.readthedocs.io/zh/latest/package_references/torch/