我正在尝试从我的pytorch张量中获取特定范围的值。
tensor=torch.tensor([0,1,2,3,4,5,6,7,8,9])
new_tensor=tensor[tensor>2]
print(new_tensor)
这将给我一个标量为3-9的张量
new_tensor2=tensor[tensor<8]
print(new_tensor2)
这将给我一个标量为0-7的张量
new_tensor3=tensor[tensor>2 and tensor<8]
print(new_tensor3)
但是,这会引发错误。我可以使用类似的东西得到3-7值的张量吗?我正在尝试直接编辑张量,并且不希望更改张量本身的顺序。
grad[x<-3]=0.1
grad[x>2]=1
grad[(x>=-3 and x<=2)]=siglrelu(grad[(x>=-3 and x<=2)])*(1.0-siglrelu(grad[(x>=-3 and x<=2)]))
这就是我真正要追求的目标,我不确定如何实现这一目标。任何帮助表示赞赏,谢谢!
您可以使用&
操作,
t = torch.arange(0., 10)
print(t)
print(t[(t > 2) & (t < 8)])
输出是
tensor([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
tensor([3., 4., 5., 6., 7.])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句