torch.clamp:将输入张量(tensor)每个元素限制(clip)在某个范围内
基本语法
torch.clamp(input, min, max, *, out=None)
input
:要被限制的原始输入张量。min
:下界值。所有input
中小于min
的元素都会被设置为min
。max
:上界值。所有input
中大于max
的元素都会被设置为max
。out
:(可选)输出张量,用于存储结果。如果提供了out
,结果会被写入这个张量中,而不是返回一个新的张量。
示例
x = torch.tensor([1.5, -0.2, 0.3, 2.0])
clamped_x = torch.clamp(x, 0, 1)
输出
tensor([1., 0., 0.3, 1.])
x中元素1.5和2.0被最大值1限制,-0.2被最小值0限制
clipped_preds = torch.clamp(net(features), 1, float('inf'))
输入:net(features)
限制范围:[1, 正无穷大)
区间内。这意味着所有小于 1
的预测值都会被设置为 1
。其中,float('inf')
返回的是一个浮点数,表示正无穷大。