解析Pytorch中的torch.gather()函数
程序员文章站
2022-03-24 20:37:15
参数说明以官方说明为例,gather()函数需要三个参数,输入input,维度dim,以及索引indexinput必须为tensor类型dim为int类型,代表从哪个维度进行索引index为longt...
参数说明
以官方说明为例,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()函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
判断一数是否在一已知数组中的函数
-
ES6中箭头函数的定义与调用方式详解
-
PHP中substr_count()函数获取子字符串出现次数的方法,phpsubstr_count
-
php中Curl函数常用的两个例子_PHP教程
-
PHP中fopen,file_get_contents,curl函数的区别,curlgetcontents
-
PHP中遇到BOM、feff编码导致json_decode函数无法解析问题
-
JavaScript中全局变量、函数内变量以及常量表达式的效率测试_javascript技巧
-
网络传输协议中的和校验函数
-
php中解析带中文字符的url函数分享_php技巧
-
PHP中round()函数对浮点数进行四舍五入的方法_PHP