参考:https://zhuanlan.zhihu.com/p/352877584本期code:https://github.com/chunhuizhang/bilibili_vlogs/blob/master/learn_torch/basics/torch.gather.ipynb, 视频播放量 5165、弹幕量 6、点赞数 148、投硬币枚数 71、收藏人数 181、转发人数 17, 视频作者 五道口纳什,
torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor 参数: input 被索引的tensor dim 索引沿着的维度 index 索引的index 官方给出的三维例子: out[i][j][k] = input[index[i][j][k]][j][k] # if dim == 0 out[i][j][k] = input[i][index[i]...
gather函数的使用:gather函数要求输入数据与索引数据具有相同的维度,如输入为二维数组,则索引也应为二维数组,但两者形状可以不同。以二维张量为例,创建一个索引数组。当dim=0时,根据索引选择行,索引中的数值表示选择的行号,以此类推,确定行后再依据原索引确定具体选择的元素。对于dim=1,操作同样...
以A = B.gather(dim=0, index=torch.tensor([[2, 1, 2]]))为例,首先确定A的维度与index维度一致(index维度可以是任意的维度,不要受限于B),即A的维度为(1,3);其次dim=0代表按列索引,那么index第一个元素“2”的含义为在B中其所在列(即第0列)的第2个元素。同理,index第二个元素“1”的含义为在...
对于一个输入的三维tensor,x∈Ra×b×c,一个indext∈Ra′×b′×c′,则torch.gather由以下公式返回一个tensory {y[i][j][k]=x[t[i][j][k]][j][k]dim=0y[i][j][k]=x[i][t[i][j][k]][k]dim=1y[i][j][k]=x[i][j][t[i][j][k]]dim=2 ...
dim (int) – 要索引的轴 index (LongTensor) – 要收集的元素的索引 sparse_grad (bool,optional) – 如果为True,梯度w.r.t。input将是一个稀疏张量。 out (Tensor, optional) – 目标张量 Example: >>> t = torch.tensor([[1, 2], [3, 4]]) ...
The source tensor dim(int)-The axis along which to index index(LongTensor)-The indices of elements to gather out(Tensor,optional)-Destination tensor Example:>>>t=torch.Tensor([[1,2],[3,4]])>>>torch.gather(t,1,torch.LongTensor([[0,0],[1,0]]))1143[torch.FloatTensor of size2*2...
t1.gather(dim = 0, index = torch.tensor([[1, 2, 0]])) # tensor([[4, 8, 3]]) ▲这是一个常规的例子,分别对每一列拿一个值出来组成新的矩阵,注意图中标示的颜色对应 t1.gather(dim = 0, index = torch.tensor([[1],
我对torch中的gather函数的一点理解 官方文档的解释 代码语言:javascript 复制 torch.gather(input,dim,index,out=None)→ Tensor torch.gather(input,dim,index,out=None)→ Tensor Gathers values along an axis specified by dim.For a3-Dtensor the output is specified by:out[i][j][k]=input[index[i]...
先来看torch.gather, 核心操作其实就是这样: outik = inputindex[i][j][k]k# if dim == 0 outik = inputiindexik]k# if dim == 1 outik = inputi[indexik]# if dim == 2 是对于out指定位置上的值,去寻找input里面对应的索引位置,根据是index ...