火炬张量等效函数到matlab的"查找"?

elp*_*oto 5 lua torch

简而言之,我想知道火炬中是否存在张量命令,它给出了张量满足某个标准的元素索引.

这是matlab代码,说明了我希望能够在火炬中做什么:

my_mat = magic(3); % returns a 3 by 3 matrix with the numbers 1 through 9
greater_than_fives = find(my_mat > 5); % find indices of all values greater than 5, the " > 5" is a logical elementwise operator that returns a matrix of all 0's and 1's and finally the "find" command picks out the indices with a "1" in them
my_mat(greater_than_fives) = 0;  % set all values greater than 5 equal to 0 
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用for循环在火炬中执行此操作,但是有一些等同于matlab的find命令可以让我更紧凑地执行此操作吗?

小智 12

x[x:gt(5)] = 0
Run Code Online (Sandbox Code Playgroud)

通常有x:gt:lt:ge:le:eq

还有一般:apply函数tha接收匿名函数并将其应用于每个元素.

  • 谢谢你的回复!但是,我对如何使用索引索引到我的数组(这是你提供的)以及如何找到索引本身感兴趣(除了索引到原始Tensor之外,它常常有用. (2认同)