numpy - Lua Torch 相当于 np.where()?

标签 numpy lua torch

我有一个 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()

关于numpy - Lua Torch 相当于 np.where()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881370/

相关文章:

function - 在lua中每次调用重用具有不同参数的协程

deep-learning - 如何使用空间转换器在pytorch中裁剪图像?

lua - 如何使用 Lua 读取 16 位 png?

tensorflow - pytorch 的 View 与 tensorflow 2.0 的等效性是什么?

python - 数据帧到 np.array - IndexError : tuple index out of range

python - 一次删除numpy数组中某个值的元素

function - Lua 只调用存在的函数?

floating-point - 将有符号的 IEEE 754 float 转换为十六进制表示

python - numpy 数组切片的意外结果(查看与复制)

python - Numpy:订阅多维数组中最外层的维度