Torch7 Tensor切片总结

时间:2022-06-01 02:43:41

1.narrow(k,m,n)

这个函数是选中第k维的从m行开始,供选中n行
2.sub(dim1s,dim1e[,dim2s,dim2e,..,dim4s,dim4e])
功能最强大,可以切任意的一个字块,不过参数比较多,制定每一维的从开始到到结束的index
3.select(dim, index)
这个最实用于选择column,因为选中第3列用大括号的表达为A[{{},{3}}] 太麻烦了,还不如直接A:select(2,3)来的简单有效
4.index(dim,index)
离散选择行列用这个,所谓离散的意思就是我想选中第一行和第4行,这个前面的函数都不能直接进行操作。
index却可以,比如A:index(1,torch.LongTensor{1,4})
需要注意的是这个函数返回新的Tensor不是在原来的Tensor的存储空间上做操作了!!!!
 
基于index可以做indexCopy, indexFill, indexAdd等操作,但是这个是在原始storage上做的。
 
gather这个函数
Torch7 Tensor切片总结
maskSelected可以用来做dropout这种功能,通过制定一个mask (0,1)矩阵来决定哪个要哪个不要。