婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Pytorch中的gather使用方法

Pytorch中的gather使用方法

熱門標(biāo)簽:河北防封卡電銷卡 電銷機(jī)器人的風(fēng)險 應(yīng)電話機(jī)器人打電話違法嗎 開封語音外呼系統(tǒng)代理商 地圖標(biāo)注線上如何操作 開封自動外呼系統(tǒng)怎么收費(fèi) 手機(jī)網(wǎng)頁嵌入地圖標(biāo)注位置 天津電話機(jī)器人公司 400電話辦理哪種

官方說明

gather可以對一個Tensor進(jìn)行聚合,聲明為:torch.gather(input, dim, index, out=None) → Tensor

一般來說有三個參數(shù):輸入的變量input、指定在某一維上聚合的dim、聚合的使用的索引index,輸出為Tensor類型的結(jié)果(index必須為LongTensor類型)。

#參數(shù)介紹:
input (Tensor) – The source tensor
dim (int) – The axis along which to index
index (LongTensor) – The indices of elements to gather
out (Tensor, optional) – Destination tensor
#當(dāng)輸入為三維時的計算過程:
out[i][j][k] = input[index[i][j][k]][j][k]  # dim=0
out[i][j][k] = input[i][index[i][j][k]][k]  # dim=1
out[i][j][k] = input[i][j][index[i][j][k]]  # dim=2
#樣例:
t = torch.Tensor([[1,2],[3,4]])
torch.gather(t, 1, torch.LongTensor([[0,0],[1,0]]))
#    1  1
#    4  3
#[torch.FloatTensor of size 2x2]

實驗

用下面的代碼在二維上做測試,以便更好地理解

t = torch.Tensor([[1,2,3],[4,5,6]])
index_a = torch.LongTensor([[0,0],[0,1]])
index_b = torch.LongTensor([[0,1,1],[1,0,0]])
print(t)
print(torch.gather(t,dim=1,index=index_a))
print(torch.gather(t,dim=0,index=index_b))

輸出為:

>>tensor([[1., 2., 3.],
        [4., 5., 6.]])
>>tensor([[1., 1.],
        [4., 5.]])
>>tensor([[1., 5., 6.],
        [4., 2., 3.]])

由于官網(wǎng)給的計算過程不太直觀,下面給出較為直觀的解釋:

對于index_a,dim為1表示在第二個維度上進(jìn)行聚合,索引為列號,[[0,0],[0,1]]表示結(jié)果的第一行取原數(shù)組第一行列號為[0,0]的數(shù),也就是[1,1],結(jié)果的第二行取原數(shù)組第二行列號為[0,1]的數(shù),也就是[4,5],這樣就得到了輸出的結(jié)果[[1,1],[4,5]]。

對于index_b,dim為0表示在第一個維度上進(jìn)行聚合,索引為行號,[[0,1,1],[1,0,0]]表示結(jié)果的第一行第d(d=0,1,2)列取原數(shù)組第d列行號為[0,1,1]的數(shù),也就是[1,5,6],類似的,結(jié)果的第二行第d列取原數(shù)組第d列行號為[1,0,0]的數(shù),也就是[4,2,3],這樣就得到了輸出的結(jié)果[[1,5,6],[4,2,3]]

接下來以index_a為例直接用官網(wǎng)的式子計算一遍加深理解:

output[0,0] = input[0,index[0,0]]  #1 = input[0,0]
output[0,1] = input[0,index[0,1]]  #1 = input[0,0]
output[1,0] = input[1,index[1,0]]  #4 = input[1,0]
output[1,1] = input[1,index[1,1]]  #5 = input[1,1]

以下兩種寫法得到的結(jié)果是一樣的:

r1 = torch.gather(t,dim=1,index=index_a)

r2 = t.gather(1,index_a)

補(bǔ)充:Pytorch中的torch.gather函數(shù)的個人理解

最近在學(xué)習(xí)pytorch時遇到gather函數(shù),開始沒怎么理解,后來查閱網(wǎng)上相關(guān)資料后大概明白了原理。

gather()函數(shù)

在pytorch中,gather()函數(shù)的作用是將數(shù)據(jù)從input中按index提出,我們看gather函數(shù)的的官方文檔說明如下:

torch.gather(input, dim, index, out=None) → Tensor
    Gathers values along an axis specified by dim.
    For a 3-D tensor the output is specified by:

    out[i][j][k] = input[index[i][j][k]][j][k]  # dim=0
    out[i][j][k] = input[i][index[i][j][k]][k]  # dim=1
    out[i][j][k] = input[i][j][index[i][j][k]]  # dim=2

    Parameters: 

        input (Tensor) – 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]]))
     1  1
     4  3
    [torch.FloatTensor of size 2x2]

可以看出,在gather函數(shù)中我們用到的主要有三個參數(shù):

1)input:輸入

2)dim:維度,常用的為0和1

3)index:索引位置

貼一段代碼舉例說明:

a=t.arange(0,16).view(4,4)
print(a)

index_1=t.LongTensor([[3,2,1,0]])
b=a.gather(0,index_1)
print(b)

index_2=t.LongTensor([[0,1,2,3]]).t()#tensor轉(zhuǎn)置操作:(a)T=a.t()
c=a.gather(1,index_2)
print(c)

輸出如下:

tensor([[ 0,  1,  2,  3],
        [ 4,  5,  6,  7],
        [ 8,  9, 10, 11],
        [12, 13, 14, 15]])
       
tensor([[12,  9,  6,  3]])

tensor([[ 0],
        [ 5],
        [10],
        [15]])

在gather中,我們是通過index對input進(jìn)行索引把對應(yīng)的數(shù)據(jù)提取出來的,而dim決定了索引的方式。

在上面的例子中,a是一個4×4矩陣:

1)當(dāng)維度dim=0,索引index_1為[3,2,1,0]時,此時可將a看成1×4的矩陣,通過index_1對a每列進(jìn)行行索引:第一列第四行元素為12,第二列第三行元素為9,第三列第二行元素為6,第四列第一行元素為3,即b=[12,9,6,3];

2)當(dāng)維度dim=1,索引index_2為[0,1,2,3]T時,此時可將a看成4×1的矩陣,通過index_1對a每行進(jìn)行列索引:第一行第一列元素為0,第二行第二列元素為5,第三行第三列元素為10,第四行第四列元素為15,即c=[0,5,10,15]T;

總結(jié)

gather函數(shù)在提取數(shù)據(jù)時主要靠dim和index這兩個參數(shù),dim=1時將input看為n×1階矩陣,index看為k×1階矩陣,取index每行元素對input中每行進(jìn)行列索引(如:index某行為[1,3,0],對應(yīng)的input行元素為[9,8,7,6],提取后的結(jié)果為[8,6,9]);

同理,dim=0時將input看為1×n階矩陣,index看為1×k階矩陣,取index每列元素對input中每列進(jìn)行行索引。

gather函數(shù)提取后的矩陣階數(shù)和對應(yīng)的index階數(shù)相同。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 使用pytorch時所遇到的一些問題總結(jié)
  • Pytorch高階OP操作where,gather原理
  • 淺談Pytorch中的torch.gather函數(shù)的含義
  • Pytorch深度學(xué)習(xí)gather一些使用問題解決方案

標(biāo)簽:駐馬店 六盤水 江蘇 常州 宿遷 蘭州 山東 成都

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Pytorch中的gather使用方法》,本文關(guān)鍵詞  Pytorch,中的,gather,使用方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Pytorch中的gather使用方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于Pytorch中的gather使用方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产亚洲视频系列| 中文字幕在线免费不卡| 国产日韩欧美精品电影三级在线| 亚洲视频在线一区二区| 美女网站一区二区| 91蜜桃婷婷狠狠久久综合9色| 日韩精品中文字幕在线一区| 亚洲国产综合色| 成人综合日日夜夜| 精品成人一区二区三区四区| 亚洲国产日韩精品| av电影天堂一区二区在线观看| 欧美成人精品高清在线播放 | 久久久五月婷婷| 亚洲自拍另类综合| 丁香婷婷综合色啪| 精品国产不卡一区二区三区| 亚洲成va人在线观看| av一本久道久久综合久久鬼色| 欧美一级欧美三级| 亚洲国产乱码最新视频 | 欧美巨大另类极品videosbest | 国产精品激情偷乱一区二区∴| 美腿丝袜在线亚洲一区| 在线电影院国产精品| 亚洲一区二区欧美激情| 91久久线看在观草草青青| 国产精品卡一卡二| 国产成人综合亚洲91猫咪| 久久久久综合网| 精品一二三四区| 2022国产精品视频| 国产成人综合亚洲网站| 精品国产一区二区亚洲人成毛片| 日本欧美久久久久免费播放网| 欧美日韩一区二区欧美激情| 亚洲大片在线观看| 欧美一区三区四区| 精品在线亚洲视频| 精品国产乱码91久久久久久网站| 精品一区二区国语对白| 久久久久久久久久美女| 成人激情文学综合网| 国产欧美久久久精品影院| 高清国产一区二区| 亚洲三级电影全部在线观看高清| 色婷婷亚洲一区二区三区| 亚洲国产婷婷综合在线精品| 欧美精品一二三区| 蜜桃久久久久久久| 国产午夜精品一区二区| 成人av网址在线| 一个色综合av| 91精品国产一区二区三区香蕉 | xf在线a精品一区二区视频网站| 精品无码三级在线观看视频| 国产欧美日韩激情| 一区二区三区四区精品在线视频| 在线观看视频一区| 亚洲电影欧美电影有声小说| 欧美一区二区久久| 高清视频一区二区| 亚洲午夜免费视频| 精品久久久久久久久久久久久久久久久| 国产精品一二三在| 一区二区三区免费在线观看| 日韩一区国产二区欧美三区| 高清av一区二区| 亚洲精品视频自拍| 日韩久久精品一区| 成人高清伦理免费影院在线观看| 亚洲一区二区三区影院| 精品蜜桃在线看| 色综合久久综合中文综合网| 美女高潮久久久| 亚洲人被黑人高潮完整版| 91精品国产综合久久精品麻豆| 国产经典欧美精品| 亚洲一区在线免费观看| 欧美日韩免费电影| 日韩不卡一区二区三区| 久久久久免费观看| 欧美视频中文字幕| 懂色av中文一区二区三区| 午夜精品福利在线| 国产精品二三区| 欧美精品亚洲二区| eeuss鲁片一区二区三区在线观看| 婷婷夜色潮精品综合在线| 中文字幕第一区| 欧美一区二区三区免费| 国产精品亚洲午夜一区二区三区| 亚洲精品成人精品456| 久久久久久久网| 欧美一级xxx| 欧美视频中文字幕| 91国产免费看| 成人av一区二区三区| 国产在线精品不卡| 亚洲精品免费播放| 久久综合九色综合久久久精品综合| 欧美综合一区二区| 91片黄在线观看| 99久久综合精品| www.成人网.com| 成人综合激情网| 国产99久久久国产精品潘金 | 日韩专区一卡二卡| 亚洲综合丁香婷婷六月香| 亚洲三级在线免费| 亚洲色图一区二区| 亚洲欧美日韩久久| 亚洲免费资源在线播放| 最新国产の精品合集bt伙计| 国产精品久久午夜| 亚洲美女电影在线| 一区二区三区 在线观看视频| 亚洲欧美日本在线| 亚洲激情图片qvod| 亚洲高清免费一级二级三级| 亚洲精品视频免费观看| 亚洲第一狼人社区| 婷婷久久综合九色综合伊人色| 日韩制服丝袜先锋影音| 久久99热这里只有精品| 精品亚洲免费视频| 成人综合婷婷国产精品久久免费| 成人h动漫精品一区二区| 国产综合一区二区| 高清成人在线观看| 91热门视频在线观看| 欧美久久高跟鞋激| 精品电影一区二区三区| 国产精品青草久久| 一级特黄大欧美久久久| 蜜臀久久99精品久久久画质超高清 | 亚洲成在人线免费| 免费成人av资源网| 国产成人8x视频一区二区| 91色porny在线视频| 91麻豆精品国产无毒不卡在线观看 | 偷拍一区二区三区| 精品无人码麻豆乱码1区2区| 成人免费毛片app| 欧美色图片你懂的| 日韩美女视频在线| 综合激情成人伊人| 美女精品自拍一二三四| 波多野结衣在线一区| 欧美日韩成人综合| 国产欧美精品区一区二区三区 | 国产精品麻豆久久久| 亚洲线精品一区二区三区| 日本中文一区二区三区| 亚洲国产色一区| 国产一区二区免费在线| 成人午夜电影小说| 欧美日韩一本到| 欧美成人午夜电影| 欧美激情资源网| 丝袜美腿高跟呻吟高潮一区| 国产一区二区三区在线观看精品 | 欧美一区二区三区在线电影 | 欧美日韩国产在线观看| 亚洲黄色小说网站| 日韩一区二区三区精品视频| 欧美激情一区二区三区四区| 欧美在线影院一区二区| 国产综合色视频| 亚洲一级片在线观看| 亚洲国产精品国自产拍av| 精品精品欲导航| 欧美人狂配大交3d怪物一区| 成人小视频在线| 久久精品久久精品| 日韩高清不卡在线| 亚洲一线二线三线久久久| 国产精品久久久久久久久图文区| 日韩欧美的一区二区| 美女久久久精品| 欧美一区二区三区四区久久| 樱桃国产成人精品视频| 欧美系列在线观看| 日本一区二区三区久久久久久久久不| 亚洲图片欧美一区| 亚洲国产精品ⅴa在线观看| 午夜一区二区三区视频| 欧美日韩情趣电影| 日本韩国一区二区三区| 欧美国产一区视频在线观看| 毛片不卡一区二区| 欧美日韩国产a| 亚洲一二三四久久| 在线观看三级视频欧美| 夜夜精品浪潮av一区二区三区| 色呦呦网站一区| 亚洲自拍都市欧美小说| 91久久精品一区二区二区| 久久久久久久久99精品| 奇米精品一区二区三区在线观看一|