欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

Pytorch中的gather使用方法

熱門標簽:河北防封卡電銷卡 電銷機器人的風險 應電話機器人打電話違法嗎 開封語音外呼系統代理商 地圖標注線上如何操作 開封自動外呼系統怎么收費 手機網頁嵌入地圖標注位置 天津電話機器人公司 400電話辦理哪種

官方說明

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

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

#參數介紹:
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
#當輸入為三維時的計算過程:
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.]])

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

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

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

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

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]

以下兩種寫法得到的結果是一樣的:

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

r2 = t.gather(1,index_a)

補充:Pytorch中的torch.gather函數的個人理解

最近在學習pytorch時遇到gather函數,開始沒怎么理解,后來查閱網上相關資料后大概明白了原理。

gather()函數

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

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函數中我們用到的主要有三個參數:

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轉置操作:(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進行索引把對應的數據提取出來的,而dim決定了索引的方式。

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

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

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

總結

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

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

gather函數提取后的矩陣階數和對應的index階數相同。

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

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

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

巨人網絡通訊聲明:本文標題《Pytorch中的gather使用方法》,本文關鍵詞  Pytorch,中的,gather,使用方法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch中的gather使用方法》相關的同類信息!
  • 本頁收集關于Pytorch中的gather使用方法的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲黄色小说视频| 91精品国产综合久久婷婷香蕉 | 超碰人人cao| 手机在线看片日韩| 欧美色视频一区二区三区在线观看| 日本老熟俱乐部h0930| 欧美日韩国产区一| 欧美日韩久久久| 日本一区二区三区国色天香| 日本不卡一二三| 97精品久久久午夜一区二区三区 | 色婷婷精品久久二区二区蜜臀av| 精品久久久久香蕉网| 亚洲sss视频在线视频| 99久久综合国产精品| 欧美a级片免费看| 亚洲精品一区二区三区精华液| 亚洲一区二区三区免费视频| 成人国产亚洲欧美成人综合网| 成人黄色a级片| 精品国精品国产| 日韩和欧美一区二区| youjizz.com日本| 欧美三级韩国三级日本三斤 | 美女高潮久久久| 亚洲男人在线天堂| 欧美一区二区三区四区高清| 亚洲男人的天堂在线aⅴ视频| 成人av在线影院| 天天操夜夜操av| 国产精品亲子乱子伦xxxx裸| 国产精品一线二线三线精华| 女同毛片一区二区三区| 日韩欧美国产综合| 久久精品国产亚洲a| av电影网站在线观看| 91麻豆精品国产无毒不卡在线观看 | 日本一区二区三区dvd视频在线| 激情综合亚洲精品| 欧美成人另类视频| 久久精品一区八戒影视| 国产一区二区三区在线看麻豆| 国产jjizz一区二区三区视频| 久久久一区二区| 国产黄色精品网站| 色婷婷综合久色| 亚洲精品成人精品456| 国产亚洲精品成人a| 在线播放国产精品二区一二区四区| 五月激情六月综合| 人人妻人人澡人人爽人人精品| 精品粉嫩超白一线天av| 国产一区二区中文字幕| 澳门黄色一级片| 国产精品久久久爽爽爽麻豆色哟哟| 99在线精品免费| 9191久久久久久久久久久| 午夜精品久久久久久久| b站大片免费直播| 日本一区二区在线不卡| 成人app网站| 欧美影视一区在线| 日韩不卡免费视频| 国产精品国产三级国产传播| 亚洲精品美腿丝袜| 800av在线播放| 久久精品免费在线观看| 成人av在线播放网站| 欧美日韩国产片| 精品一二线国产| 蜜臀久久精品久久久用户群体| 有坂深雪av一区二区精品| 三级视频网站在线观看| 国产日本欧洲亚洲| 91看片淫黄大片一级在线观看| 日韩一区二区精品葵司在线| 国产综合一区二区| 日本韩国一区二区| 青青草一区二区三区| 成人在线观看小视频| 亚洲18色成人| 激情另类小说区图片区视频区| 国产性xxxx| 午夜亚洲福利老司机| 久久精品国产亚洲AV成人婷婷| 国产精品视频一二三| 人妻 日韩 欧美 综合 制服| 久久一区二区视频| 中文字幕欧美视频| 久久女同性恋中文字幕| 国产原创剧情av| 亚洲同性gay激情无套| 在线观看亚洲大片短视频| 婷婷开心久久网| 欧洲色大大久久| 成人综合在线观看| 久久久99精品免费观看不卡| 欧美午夜精品一区二区| 国产精品久线在线观看| 成人三级伦理片| 亚洲精品一区二区三区蜜桃下载| 国产av一区二区三区传媒| 亚洲日本va在线观看| 日韩av片在线免费观看| 蜜桃传媒麻豆第一区在线观看| 欧美日韩免费观看一区二区三区| 成人激情文学综合网| 久久午夜免费电影| 日本丰满少妇裸体自慰| 午夜精品一区二区三区免费视频| 欧美又粗又大又长| 国产成都精品91一区二区三| 337p日本欧洲亚洲大胆精品 | 欧美熟妇精品一区二区蜜桃视频| 亚洲免费资源在线播放| 国产盗摄一区二区三区在线| 懂色av中文字幕一区二区三区| 久久久综合视频| 亚洲精品91在线| 麻豆高清免费国产一区| 日韩一本二本av| www.日本高清| 天天免费综合色| 5月丁香婷婷综合| 三级视频网站在线观看| 午夜电影久久久| 91精品国产色综合久久不卡电影 | 国产精品久久久久永久免费观看| 国产精品综合激情| 国产精品一区二区在线观看不卡| 国产日韩欧美高清| 精品无码一区二区三区蜜臀| 大白屁股一区二区视频| 国产精品久久久久一区二区三区| 黄色录像二级片| 成人毛片在线观看| 亚洲欧美日韩人成在线播放| 色综合久久88色综合天天6 | 色爱区综合激月婷婷| 91麻豆精品在线观看| 一区二区三区四区不卡视频| 欧美三级在线看| 97人妻精品一区二区三区免费| 日韩精品成人一区二区在线| 欧美zozo另类异族| 少妇视频在线播放| 国产一区二区三区不卡在线观看| 国产午夜精品久久久久久久| 黄色录像免费观看| 91视视频在线观看入口直接观看www| 亚洲一区影音先锋| 欧美一区二区三区系列电影| av电影网站在线观看| 国产精品123区| 亚洲欧美另类小说| 欧美日韩精品一区视频| 亚洲视频一区在线| 日韩一区二区视频在线观看| 中文字幕一区二区三区精华液| 国产小视频你懂的| 99视频在线精品| 亚洲国产成人高清精品| 日韩精品一区二区在线观看| 欧美乱大交做爰xxxⅹ小说| 成人av一区二区三区| 亚洲成av人片一区二区梦乃| 日韩欧美一级二级| 老司机精品免费视频| 99国产欧美久久久精品| 日韩国产精品大片| 国产清纯美女被跳蛋高潮一区二区久久w| 在线免费日韩av| 无码任你躁久久久久久老妇| 国产在线视频一区二区三区| 中文字幕日韩精品一区| 在线成人av影院| 国产综合精品久久久久成人av| 北条麻妃一区二区三区| 丝袜脚交一区二区| 国产精品天干天干在观线| 在线观看91av| 中文字幕在线2021| 粉嫩av懂色av蜜臀av分享| 国产精品一区专区| 亚洲第一成人在线| 日本一区二区三区在线不卡| 欧美日韩成人综合| 婷婷丁香综合网| 无码人妻一区二区三区免费n鬼沢| 麻豆国产精品视频| 一区二区三区在线视频播放| 亚洲精品在线电影| 欧美日韩久久一区| 疯狂撞击丝袜人妻| 国产白嫩美女无套久久| www.欧美精品一二区| 狠狠网亚洲精品| 亚洲成人av免费| 国产精品成人网| 久久久久久久av麻豆果冻|