Pytorch 通过二维索引访问三维张量

Pytorch 通过二维索引访问三维张量,pytorch,Pytorch,我试图通过2d矩阵访问3d张量矩阵。返回值也应该是2d矩阵。以下是我努力实现的目标 dim1 = 2 dim2 = 3 dim3 = 4 source = torch.FloatTensor(dim1, dim2, dim3) source.normal_() check = zn > 0.0 index = torch.argmax(check, dim=0) for i in range(dim2): for j in range(dim3): ret[i,

我试图通过2d矩阵访问3d张量矩阵。返回值也应该是2d矩阵。以下是我努力实现的目标

dim1 = 2
dim2 = 3
dim3 = 4
source = torch.FloatTensor(dim1, dim2, dim3)
source.normal_()

check = zn > 0.0
index = torch.argmax(check, dim=0)

for i in range(dim2):
    for j in range(dim3):
        ret[i, j] = source[index[i, j], i, j]

我想您正在寻找,您可能需要使用张量来满足“聚集”的要求。

要使用聚集,我需要源和索引的形状相同。