【问题标题】:Getting range of values from Pytorch Tensor从 Pytorch 张量获取值范围
【发布时间】:2020-12-17 22:57:31
【问题描述】:

我正在尝试从我的 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)]))

这就是我真正想要的,我不确定如何去做。感谢您的帮助,谢谢!

【问题讨论】:

    标签: pytorch tensor


    【解决方案1】:

    可以使用&amp;操作,

    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.])
    

    【讨论】:

      猜你喜欢
      • 2020-01-03
      • 2020-08-31
      • 1970-01-01
      • 2020-05-11
      • 2021-09-12
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多