如何在没有循环的情况下将 matlab 代码mat1(mat2(1:idx, 2)) = 0
转换为 torch ?因为下面的循环版本确实需要时间。
这里 mat1 是一个长度为 n 的向量, mat2 是一个垫子( n 下,2)。
for i=1,idx do
local idx = mat2[2][i]
mat1[idx] = 0
end
答案 0 :(得分:1)
mat1:indexFill(1,mat2[{2, {1,indx}}]:long(),0)