服务器之家

服务器之家 > 正文

解析Pytorch中的torch.gather()函数

时间:2022-03-01 00:17     来源/作者:xiaoliujun1999

参数说明

以官方说明为例,gather()函数需要三个参数,输入input,维度dim,以及索引index

input必须为Tensor类型

dim为int类型,代表从哪个维度进行索引

index为LongTensor类型

 

举例说明

input=torch.tensor([[1,2,3],[4,5,6]]) #作为输入

index1=torch.tensor([[0,1,1],[0,1,1]]) #作为索引矩阵

# dim=0时,按列进行索引
print (torch.gather(input,dim=0,index=index1))

# dim=1时,按行进行索引
print (torch.gather(input,dim=1,index=index1))

结果如下图所示:

# 按列进行索引
tensor([[1, 5, 6],
      [4, 2, 6]])

# 按行进行索引
tensor([[1, 2, 2],
      [5, 4, 5]])

 

画图说明

解析Pytorch中的torch.gather()函数

解析Pytorch中的torch.gather()函数

官方文档

def gather(self, input, dim, index, *args, **kwargs): 
      
      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        

      Args:
          input (Tensor): the source tensor
          dim (int): the axis along which to index
          index (LongTensor): the indices of elements to gather     
    
      Example::
      
          >>> t = torch.tensor([[1, 2], [3, 4]])
          >>> torch.gather(t, 1, torch.tensor([[0, 0], [1, 0]]))
          tensor([[ 1,  1],
                  [ 4,  3]])

到此这篇关于Pytorch中的torch.gather()函数的文章就介绍到这了,更多相关Pytorch torch.gather()函数内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/xiaoliujun1999/article/details/121292061

相关文章

热门资讯

2022年最旺的微信头像大全 微信头像2022年最新版图片
2022年最旺的微信头像大全 微信头像2022年最新版图片 2022-01-10
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
返回顶部