解析Pytorch中的torch.gather()函数
参数说明
【解析Pytorch中的torch.gather()函数】以官方说明为例,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]])
画图说明
文章图片
文章图片
官方文档
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 == 0out[i][j][k] = input[i][index[i][j][k]][k]# if dim == 1out[i][j][k] = input[i][j][index[i][j][k]]# if dim == 2 Args:input (Tensor): the source tensordim (int): the axis along which to indexindex (LongTensor): the indices of elements to gatherExample::>>> 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()函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 热闹中的孤独
- JS中的各种宽高度定义及其应用
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- Android中的AES加密-下
- 放下心中的偶像包袱吧
- C语言字符函数中的isalnum()和iscntrl()你都知道吗
- C语言浮点函数中的modf和fmod详解
- C语言中的时间函数clock()和time()你都了解吗
- 如何在Mac中的文件选择框中打开系统隐藏文件夹