Python 有没有一个PyTorch张量函数可以减少规则模式中的维数

Python 有没有一个PyTorch张量函数可以减少规则模式中的维数,python,pytorch,tensor,Python,Pytorch,Tensor,很抱歉标题的措词不当。我想做的是这样的: 矩阵1是原始矩阵,矩阵2是矩阵1,但每个偶数列和行都被去掉。矩阵3是矩阵1,但只有1(mod 3)列和行。矩阵4是相同的,有1(mod 4)列和行。矩阵5有1(mod 2)列和所有行 是否有一个Pytork函数可以以这种方式操纵张量,并且速度快,可以利用GPU?这有点像MaxPool2d,但是我只需要第一个值,而不是最大值。如果没有任何类似的函数,有没有办法手动执行,但仍然很快?矩阵5最容易显示,因为您只需要沿一维切片。但是你可以把这两个都切掉,得到其他

很抱歉标题的措词不当。我想做的是这样的: 矩阵1是原始矩阵,矩阵2是矩阵1,但每个偶数列和行都被去掉。矩阵3是矩阵1,但只有1(mod 3)列和行。矩阵4是相同的,有1(mod 4)列和行。矩阵5有1(mod 2)列和所有行


是否有一个Pytork函数可以以这种方式操纵张量,并且速度快,可以利用GPU?这有点像MaxPool2d,但是我只需要第一个值,而不是最大值。如果没有任何类似的函数,有没有办法手动执行,但仍然很快?

矩阵5最容易显示,因为您只需要沿一维切片。但是你可以把这两个都切掉,得到其他的结果

matrix5 = matrix1[, ::2]

这种表示法从第0列开始每隔一列计算一次。

这不就是切片吗?是的,但我不想让for循环和选择单独的列和行,因为那样会非常慢。我正在寻找一个内部功能,可以做到这一点很快我知道。使用切片。这不涉及for-loops。现在这个问题似乎很愚蠢。只是我以前从未使用过最后一个切片索引。谢谢你是的,我会的,现在还不允许我做决定