首页 > 解决方案 > “沿暗淡指定的轴收集值”是什么意思?意思是?

问题描述

我想了解“沿昏暗指定的轴收集值”是什么意思。意思是在下面的代码中。如何在我的脑海中构造函数对数据的操作。这个函数对数据有什么作用以及如何?

请参考此链接https://pytorch.org/docs/stable/torch.html#torch.gather


torch.gather(input, dim, index, out=None, sparse_grad=False)


Gathers values along an axis specified by dim.

For a 3-D tensor the output is specified by:

out[i][j][k] = input[index[i][j][k]][j][k]  # if dim == 0
out[i][j][k] = input[i][index[i][j][k]][k]  # if dim == 1
out[i][j][k] = input[i][j][index[i][j][k]]  # if dim == 2

标签: pytorch

解决方案


是的,它通过给定的张量的暗淡(维度),并将提供的索引指定的值收集到一个新的张量中。所以如果我有一个一维张量(允许吗?)作为

MyValues = torch.tensor([0,2,4,6,8])

并且做了

torch.gather(MyValues, 0, torch.tensor([0,1,3])) 

我希望返回一个包含[0,2,6]. 即位于位置01的值3

index所以它只是使用张量作为指向要从张量中提取的内容的位置的指针来挑选内容input

dim是您要索引的维度。因此,对于 2D,您可以选择按行或列进行索引,您可以将其推断为任意多个维度。


推荐阅读