先做个试验
import torch
a=torch.tensor([[1,2,3],[4,5,6]])
b=torch.tensor([[2,1,9],[3,7,5]])
c=(a>=b).float()
c
这里可以看出来是可一找到a>=b的数据,并输出布尔值
def clip_by_tensor(t,t_min,t_max):
t=t.float()
result = (t >= t_min).float() * t + (t < t_min).float() * t_min
result = (result <= t_max).float() * result + (result > t_max).float() * t_max
return result
clip_by_tensor作用是使数据在min到max之间,小于min的变为min,大于max的变为max
import torch
a=torch.ones(3,3)*3
b=torch.ones(3,3)*5
c=torch.tensor([[1,2,3],[4,5,6],[7,8,9]])
def clip_by_tensor(t,t_min,t_max):
t=t.float()
result = (t >= t_min).float() * t + (t < t_min).float() * t_min
result = (result <= t_max).float() * result + (result > t_max).float() * t_max
return result
d=clip_by_tensor(c,a,b)