torch.clamp(input, min, max, out=None) → Tensor
将输入input张量每个元素的夹紧到区间 [min,max],并返回结果到一个新张量。
i
n
p
u
t
=
{
m
i
n
,
if
i
n
p
u
t
<= min
i
n
p
u
t
,
if min<
i
n
p
u
t
<max
m
a
x
,
if
i
n
p
u
t
>= max
input = \begin{cases} min, & \text{if $input $ <= min} \\ input, & \text{if min<$input $ <max}\\ max, & \text{if $input$ >= max} \end{cases}
input=⎩⎪⎨⎪⎧min,input,max,if input <= minif min<input <maxif input >= max
import torch
x = torch.randn(4, 1)
print('tensor原型:',x)
print(torch.clamp(x, -0.5, 0.5))
运行结果:
tensor原型: tensor([[-0.6572],
[ 0.8355],
[-0.9475],
[-0.0340]])
tensor([[-0.5000],
[ 0.5000],
[-0.5000],
[-0.0340]])