您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:解析Pytorch中的torch.gather()函数

51自学网 2022-02-21 10:48:34
  python
这篇教程解析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 == 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()函数内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python自动化测试selenium定位frame及iframe示例
python自动化测试selenium屏幕截图示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。