numpy之Lua Torch 相当于 np.where()

daizhj 阅读:106 2025-06-02 22:19:02 评论:0

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

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

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

(在我的特定情况下,我想使用这些索引来索引几个不同的 Tensor 对象,但最好知道一般情况下如何执行此操作。)

请您参考如下方法:

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

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

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

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


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号