torch.clamp(input, min, max, out=None)
将输入input张量每个元素的范围限制到区间 [min,max],返回结果到一个新张量。
- input (Tensor) – 输入张量
- min (Number) – 限制范围下限
- max (Number) – 限制范围上限
- out (Tensor, optional) – 输出张量
栗子:
boxes_nms=torch.randint(-100,1000,(3,4))
print(boxes_nms)

接下来对tensor按列操作:
boxes_nms[:, 0] = torch.clamp(boxes_nms[:, 0], min=0)
boxes_nms[:, 1] = torch.clamp(boxes_nms[:, 1], min=0)
boxes_nms[:, 2] = torch.clamp(boxes_nms[:, 2], max=448)
boxes_nms[:, 3] = torch.clamp(boxes_nms[:, 3], max=448)
print(boxes_nms)
意思就是按列对原tensor进行操作,限定了每列中元素的大小范围,若是小于0,则替换为0.若是大于448,则替换为448.

可看到,一二列中的小于0的元素被替换为了0.三四列中大于448的元素被替换为了448!
Python确实在数据分析方面很强大!!!
本文介绍了如何使用torch.clamp()函数将Tensor中元素限制在指定区间,通过实例展示了如何按列操作,确保数值在0到448之间。展示了Python在数据分析中的实用操作。

795

被折叠的 条评论
为什么被折叠?



