五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一般人我不告訴他這些圖數(shù)據(jù)處理干貨!

2022-03-01 19:18 作者:深度之眼官方賬號(hào)  | 我要投稿

來(lái)源:投稿?作者:張宇

編輯:學(xué)姐


看完給學(xué)姐點(diǎn)個(gè)贊!一個(gè)贊就能給學(xué)姐的午飯加個(gè)雞腿??!


單張圖被PyG表示為 torch_geometric.data.Data 類型,有如下屬性:


data.x : 節(jié) 點(diǎn) 的 特 征 矩 陣 , 形 狀 為 [num_nodes, num_node_features]?

data.edge_index : COO格式的圖的邊 shape [2, num_edges] and type torch.long

data.edge_attr :邊的特征矩陣 shape [num_edges, num_edge_features]

data.y : 訓(xùn)練數(shù)據(jù)的標(biāo)簽,節(jié)點(diǎn)級(jí)的目標(biāo) shape [num_nodes, *] or 圖級(jí)的目標(biāo) shape [1, *]

data.pos : 節(jié)點(diǎn)的位置矩陣 shape [num_nodes, num_dimensions]



對(duì)于data提供了如下方法進(jìn)行訪問(wèn):



對(duì)于Data類的更多方法可以看這里:


https://pytorch-geometric.readthedocs.io/en/latest/modules/data.html#torch_geometric.data.Data


常用的基準(zhǔn)數(shù)據(jù)集


PyG提供了大量的基準(zhǔn)數(shù)據(jù)集,比如Planetoid datasets (Cora, Citeseer, Pubmed),更多圖的數(shù)據(jù)集可

以看這個(gè)鏈接???


https://pytorch-geometric.readthedocs.io/en/latest/modules/data.html#torch_geometric.data.Data


https://github.com/nd7141/graph_datasets


使用PyG處理數(shù)據(jù)非常簡(jiǎn)單,并且下載下來(lái)就是源文件格式(raw file,可能在一些程序中看見(jiàn)這個(gè)單詞),并且會(huì)自動(dòng)處理為Data格式,例如:


我們可以看到數(shù)據(jù)集中的第一個(gè)圖包含37個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有3個(gè)特性。有168/2 = 84條無(wú)向邊,圖被分配到一個(gè)類中。此外,數(shù)據(jù)對(duì)象只持有一個(gè)圖級(jí)目標(biāo)。


我們甚至可以使用切片、long或bool張量來(lái)分割數(shù)據(jù)集。例如,要?jiǎng)?chuàng)建90/10的訓(xùn)練/測(cè)試分割,輸入:


讓我們?cè)僭囈粋€(gè)!讓我們下載Cora,半監(jiān)督圖節(jié)點(diǎn)分類的標(biāo)準(zhǔn)基準(zhǔn)數(shù)據(jù)集,這個(gè)數(shù)據(jù)集是圖神經(jīng)網(wǎng)絡(luò)論文中經(jīng)??匆?jiàn)的數(shù)據(jù)集,是一個(gè)論文的引用圖,節(jié)點(diǎn)的特征為論文的詞向量:


Data對(duì)象保存每個(gè)節(jié)點(diǎn)的標(biāo)簽,以及額外的節(jié)點(diǎn)級(jí)屬性:


train_mask、val_mask和test_mask,其中Train_mask表示要訓(xùn)練哪個(gè)節(jié)點(diǎn)(140個(gè)節(jié)點(diǎn)),


Val_mask表示使用哪些節(jié)點(diǎn)進(jìn)行驗(yàn)證,例如,執(zhí)行早期停止(500個(gè)節(jié)點(diǎn)),


Test_mask表示要測(cè)試哪個(gè)節(jié)點(diǎn)(1000個(gè)節(jié)點(diǎn))。


比如data.train_mask 是一個(gè)一維的bool類型的tensor,里面的數(shù)據(jù)是True就代表是訓(xùn)練數(shù)據(jù)。

Mini-Batches

神經(jīng)網(wǎng)絡(luò)通常以批處理方式進(jìn)行訓(xùn)練。PyG通過(guò)創(chuàng)建稀疏塊對(duì)角鄰接矩陣(由edge_index定義)和連接節(jié)點(diǎn)維上的特征和目標(biāo)矩陣來(lái)實(shí)現(xiàn)小批量的并行化。這種組合允許在一個(gè)批處理中不同數(shù)量的節(jié)點(diǎn)和邊:


PyG包含它自己的torch_geometric.loader.DataLoader ,它已經(jīng)處理了這個(gè)連接過(guò)程。其實(shí)使用的過(guò)程和torch里面的DataLoader是一樣的:

torch_geometric.data.Batch從torch_geometric.data.Data 繼承,并包含稱為batch 的附加屬性。


batch是一個(gè)列向量,保存了batch中每個(gè)節(jié)點(diǎn)和對(duì)應(yīng)圖的映射關(guān)系。


可以使用batch來(lái)計(jì)算batch中每個(gè)圖中各個(gè)節(jié)點(diǎn)的平均特征。


Data Transforms


下面以一個(gè)例子來(lái)解釋,ShapeNet數(shù)據(jù)集是包含17000個(gè)3D點(diǎn)云的數(shù)據(jù)集。

我們可以通過(guò)transforms將點(diǎn)云生成最近鄰圖,將點(diǎn)云數(shù)據(jù)集轉(zhuǎn)換為圖數(shù)據(jù)集:

pre_transform參數(shù)可以在數(shù)據(jù)存入磁盤之前進(jìn)行轉(zhuǎn)換,在下次使用時(shí),數(shù)據(jù)集將自動(dòng)包含邊。


此外,我們可以使用transform參數(shù)來(lái)隨機(jī)增強(qiáng)一個(gè)Data對(duì)象,例如,將每個(gè)節(jié)點(diǎn)的位置轉(zhuǎn)換為一個(gè)小數(shù)字:

圖學(xué)習(xí)方法


在學(xué)習(xí)了PyG中的數(shù)據(jù)處理、datasets, loader 以及 transforms之后,是時(shí)候?qū)崿F(xiàn)我們的第一個(gè)圖形神經(jīng)網(wǎng)絡(luò)了!

我們將使用一個(gè)簡(jiǎn)單的GCN層,并在Cora引文數(shù)據(jù)集上復(fù)制實(shí)驗(yàn)。關(guān)于GCN的解釋,請(qǐng)看 http://tkipf.g ithub.io/raph-convolutional-networks/ 。


首先,加載數(shù)據(jù)集:

然后定義一個(gè)兩層的GCN,和torch里面的定義方式一樣,只是在傳入GCN網(wǎng)絡(luò)時(shí)傳的是兩個(gè)參數(shù),第一個(gè)是數(shù)據(jù)特征,第二個(gè)是邊的index。數(shù)據(jù)特征x就是每個(gè)節(jié)點(diǎn)的特征向量,edge_index就是(2,節(jié)點(diǎn)數(shù))的Tensor,表示哪兩個(gè)節(jié)點(diǎn)之間有邊。卷積層后面的ReLU激活函數(shù)以及dropout層也是常用的,也不做介紹。

然后對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練的方式也是和torch中形式一樣的:

最后網(wǎng)絡(luò)新的訓(xùn)練精度進(jìn)行測(cè)試

總結(jié)


最后做個(gè)總結(jié)的話就是,使用PyG的圖神經(jīng)網(wǎng)絡(luò),其實(shí)和torch總體使用過(guò)程是差不多的,最重要的就是DataLoader的寫(xiě)法。如果使用 torch_geometric.datasets 中沒(méi)有的數(shù)據(jù)集的話,將數(shù)據(jù)轉(zhuǎn)化為圖的形式可能需要一些時(shí)間。

代碼排版有點(diǎn)問(wèn)題

關(guān)注公眾號(hào)【學(xué)姐帶你玩AI】回復(fù):“1”

領(lǐng)取代碼原文



一般人我不告訴他這些圖數(shù)據(jù)處理干貨!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
澜沧| 陇南市| 崇州市| 基隆市| 阿图什市| 祁连县| 吐鲁番市| 正安县| 资源县| 鹤壁市| 枞阳县| 永川市| 鄢陵县| 巴林左旗| 竹溪县| 兴安县| 离岛区| 乐山市| 体育| 黄梅县| 玛曲县| 登封市| 密云县| 秭归县| 新宁县| 乌兰县| 沧州市| 木里| 瑞安市| 久治县| 莱阳市| 根河市| 保康县| 张掖市| 定结县| 广水市| 会宁县| 呼玛县| 佛山市| 会泽县| 图片|