神经网络的输出值有时会超过一定的边界比如我门需要的数值在[0, 100]之间,但是可能有小于0或者大于10的数,通过使用torch.clamp()
或者np.clip()
可以使得小于1的值自动变为1,大于10的数变为10
输入:
import torch
import numpy as np
a = torch.tensor([2,5,6,8,34,56,23,3,6,24,3,-5,-9])
a=torch.clamp(a,1,10) #将小于1的值自动变为1,大于10的数变为10
b = a.numpy()
b = np.clip(b, 1, 10) #将小于1的值自动变为1,大于10的数变为10
print(a)
print(b)
输出:
tensor([ 2, 5, 6, 8, 10, 10, 10, 3, 6, 10, 3, 1, 1])
[ 2 5 6 8 10 10 10 3 6 10 3 1 1]