【问题标题】:Lua Torch equivalent of np.where()?Lua Torch 相当于 np.where()?
【发布时间】:2016-06-23 05:23:15
【问题描述】:

我有一个ByteTensor 并想获取有1 的索引。在 numpy 中,我可以做类似的事情

a = np.array([1,0,1,0,1])
return np.where(a)

这将返回(array([0, 2, 4]),)。这个功能是在 Torch 中定义的吗?

(在我的特殊情况下,我想使用这些索引来索引几个不同的 Tensor 对象,但一般来说知道如何做到这一点会很好。)

【问题讨论】:

    标签: numpy lua torch


    【解决方案1】:

    您可以使用torch.nonzero,例如:

    > a = torch.ByteTensor{1,0,1,0,1}
    > print(torch.nonzero(a))                                                                                         
     1                                                                                                                  
     3                                                                                                                  
     5                                                                                                                  
    [torch.LongTensor of size 3x1]
    

    如果你真的只需要找到 1-s,你可以链接一个逻辑运算符:

    > a = torch.ByteTensor{1,2,1,6,1}
    > a:eq(1):nonzero()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-29
      • 2018-09-07
      • 2010-12-23
      • 2014-03-06
      • 2021-12-31
      • 1970-01-01
      • 2016-09-02
      • 2021-07-29
      相关资源
      最近更新 更多