自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

支持異構(gòu)圖、集成GraphGym,超好用的圖神經(jīng)網(wǎng)絡(luò)庫PyG更新2.0版本

新聞 深度學(xué)習(xí)
近日,PyG 核心領(lǐng)導(dǎo)者(Core lead)Matthias Fey 宣布 PyG 2.0 版本來了!新版本提供了全面的異構(gòu)圖支持、GraphGam 以及很多其他特性。

當(dāng)前最流行和廣泛使用的 GNN 庫 PyG(PyTorch Geometric)現(xiàn)在出 2.0 版本了,新版本提供了全面的異構(gòu)圖支持、GraphGam 以及很多其他特性,這一系列改進(jìn),為使用者帶來了更好的用戶體驗(yàn)。

PyTorch Geometric(PyG)是一個(gè)構(gòu)建于 PyTorch 之上的庫,用來為一系列與結(jié)構(gòu)化數(shù)據(jù)相關(guān)的應(yīng)用編寫和訓(xùn)練圖神經(jīng)網(wǎng)絡(luò)(GNN)。PyG 對(duì)機(jī)器學(xué)習(xí)研究者以及機(jī)器學(xué)習(xí)工具包的首次使用者都很友好。

[[423998]]

就其特征和功能而言,PyG 具有易用和統(tǒng)一的 API,用戶花費(fèi)更少的時(shí)間在實(shí)現(xiàn)和運(yùn)行圖神經(jīng)網(wǎng)絡(luò)的底層機(jī)制上,只需要 10 至 20 行代碼就可以訓(xùn)練自定義 GNN 模型。PyG 涵蓋了大量的 SOTA GNN 架構(gòu)以及訓(xùn)練和可擴(kuò)展流程,并且易于擴(kuò)展以匹配用戶自己的特定用例或進(jìn)行自己的 GNN 研究。

此外,PyG 中的全新 GraphGym 使得用戶可以輕松地復(fù)現(xiàn) GNN 實(shí)驗(yàn),執(zhí)行和分析數(shù)千個(gè) GNN 實(shí)驗(yàn),并將自定義模塊嵌入到 GNN 學(xué)習(xí) pipeline 中。

近日,PyG 核心領(lǐng)導(dǎo)者(Core lead)Matthias Fey 宣布 PyG 2.0 版本來了!新版本提供了全面的異構(gòu)圖支持、GraphGam 以及很多其他特性。

支持異構(gòu)圖、集成GraphGym,超好用的圖神經(jīng)網(wǎng)絡(luò)庫PyG更新2.0版本

PyG 2.0 詳情地址:https://github.com/pyg-team/pytorch_geometric/releases/tag/2.0.0

PyG 2.0 新特性

PyG 2.0 是一個(gè)新的版本,提供了復(fù)雜的異構(gòu)圖支持、GraphGym 集成以及其他新特性。

PyG 2.0 中提供了完全的異構(gòu)圖支持。異構(gòu)圖支持包括數(shù)據(jù)存儲(chǔ)層的完整重寫(同時(shí)保持向后兼容性)、異構(gòu)圖轉(zhuǎn)換、通過鄰采樣的關(guān)系型數(shù)據(jù)加載例程,以及一整套異構(gòu) GNN 模型 / 示例。

突出亮點(diǎn)

異構(gòu)圖存儲(chǔ):異構(gòu)圖現(xiàn)在可以存儲(chǔ)在它們自己的專用 data.HeteroData 類中。

  1. from torch_geometric.data import HeteroData 
  2. data = HeteroData() 
  3. # Create two node types "paper" and "author" holding a single feature matrix: 
  4.  
  5.  
  6. data['paper'].x = torch.randn(num_papers, num_paper_features) 
  7. data['author'].x = torch.randn(num_authors, num_authors_features) 
  8. # Create an edge type ("paper""written_by""author") holding its graph connectivity: 
  9. data['paper''written_by''author'].edge_index = ...  # [2, num_edges] 

異構(gòu) Mini-Batch 加載:異構(gòu)圖可以分別通過 loader.DataLoader 和 loader.NextorLoader 對(duì)許多小的、單個(gè)的巨大圖進(jìn)行轉(zhuǎn)化,轉(zhuǎn)換成 mini-batches。這些 loaders 現(xiàn)在可以處理同構(gòu)圖和異構(gòu)圖:

  1. from torch_geometric.loader import DataLoader 
  2. loader = DataLoader(heterogeneous_graph_dataset, batch_size=32, shuffle=True) 
  3. from torch_geometric.loader import NeighborLoader 
  4. loader = NeighborLoader(heterogeneous_graph, num_neighbors=[3030], batch_size=128
  5.                         input_nodes=('paper', data['paper'].train_mask), shuffle=True) 

異構(gòu)圖神經(jīng)網(wǎng)絡(luò):異構(gòu) GNN 現(xiàn)在可以通過 nn.to_hetero、nn.to_hetero_with_bases 從同構(gòu) GNN 輕松創(chuàng)建。這些進(jìn)程采用現(xiàn)有的 GNN 模型并復(fù)制其消息功能,以考慮不同的節(jié)點(diǎn)和邊緣類型:

  1. from torch_geometric.nn import SAGEConv, to_hetero 
  2.  
  3.  
  4. class GNN(torch.nn.Module): 
  5.     def __init__(hidden_channels, out_channels): 
  6.         super().__init__() 
  7.         self.conv1 = SAGEConv((-1, -1), hidden_channels) 
  8.         self.conv2 = SAGEConv((-1, -1), out_channels) 
  9.  
  10.  
  11.     def forward(self, x, edge_index): 
  12.         x = self.conv1(x, edge_index).relu() 
  13.         x = self.conv2(x, edge_index) 
  14.         return x 
  15.  
  16.  
  17. model = GNN(hidden_channels=64, out_channels=dataset.num_classes) 
  18. model = to_hetero(model, data.metadata(), aggr='sum'
支持異構(gòu)圖、集成GraphGym,超好用的圖神經(jīng)網(wǎng)絡(luò)庫PyG更新2.0版本

使用 GraphGym 管理實(shí)驗(yàn)

PyG 2.0 現(xiàn)在通過 torch_geometric.graphgym 正式支持 GraphGym??偟膩碚f,GraphGym 是一個(gè)平臺(tái),用于通過高度模塊化的 pipeline 從配置文件中設(shè)計(jì)和評(píng)估圖神經(jīng)網(wǎng)絡(luò):

  • GraphGym 是開始學(xué)習(xí)標(biāo)準(zhǔn)化 GNN 實(shí)現(xiàn)和評(píng)估的最佳平臺(tái);
  • GraphGym 提供了一個(gè)簡(jiǎn)單的接口來并行嘗試數(shù)千個(gè) GNN 架構(gòu),以找到適合特定任務(wù)的最佳設(shè)計(jì);
  • GraphGym 可輕松進(jìn)行超參數(shù)搜索并可視化哪些設(shè)計(jì)選擇更好。
支持異構(gòu)圖、集成GraphGym,超好用的圖神經(jīng)網(wǎng)絡(luò)庫PyG更新2.0版本

重大改變

datasets.AMiner 數(shù)據(jù)集現(xiàn)在返回 data.HeteroData 對(duì)象;transforms.AddTrainValTestMask 已被替換為 transforms.RandomNodeSplit;由于 data.Data 的存儲(chǔ)布局發(fā)生了顯著變化以支持異構(gòu)圖,因此需要通過刪除 root/processed 文件夾來重新處理已處理的數(shù)據(jù)集。

此外,data.Data.__cat_dim__ 、 data.Data.__inc__現(xiàn)在需要額外的參數(shù)輸入:

  1. def __cat_dim__(self, key, value, *args, **kwargs): 
  2.     pass 
  3. def __inc__(self, key, value, *args, **kwargs): 
  4.     pass 

如果你修改了自定義 data.Data 對(duì)象中的__cat_dim__或__inc__ ,請(qǐng)確保應(yīng)用上述更改。

了解更多變化,請(qǐng)參考原項(xiàng)目。

核心團(tuán)隊(duì)成員

PyG 核心團(tuán)隊(duì)共有 6 位成員,包括多特蒙德工業(yè)大學(xué)四年級(jí)圖機(jī)器學(xué)習(xí)博士生 Matthias Fey、多特蒙德工業(yè)大學(xué)博士生 Jan Eric Lenssen(核心貢獻(xiàn)者)和圖網(wǎng)絡(luò)領(lǐng)域大牛 & 斯坦福計(jì)算機(jī)科學(xué)副教授 Jure Leskovec(擔(dān)任顧問)。

[[423999]]

從左至右依次為 Matthias Fey、Jan Eric Lenssen 和 Jure Leskovec。

此外還有三位華人成員,分別是斯坦福大學(xué)計(jì)算機(jī)科學(xué)四年級(jí)博士生尤佳軒(Jiaxuan You,核心領(lǐng)導(dǎo)者)、斯坦福大學(xué)計(jì)算機(jī)科學(xué)博士生 Rex Ying(核心貢獻(xiàn)者,他將于 2022 年加入耶魯大學(xué)擔(dān)任助理教授)和卡內(nèi)基梅隆大學(xué) - 漢斯學(xué)院三年級(jí)博士生趙越(Yue Zhao,核心貢獻(xiàn)者)。

[[424000]]

從左至右依次為尤佳軒、Rex Ying 和趙越。

日前,趙越在知乎分享了自己參與 PyG 2.0 版本設(shè)計(jì)與升級(jí)過程中的心得體會(huì),感興趣的讀者可以參考閱讀。

知乎鏈接:https://www.zhihu.com/pin/1420674585365196800

 

責(zé)任編輯:張燕妮 來源: 機(jī)器之心Pro
相關(guān)推薦

2023-03-07 18:55:05

代碼機(jī)器學(xué)習(xí)

2023-05-04 07:39:14

圖神經(jīng)網(wǎng)絡(luò)GNN

2021-11-19 17:18:39

谷歌TensorFlow技術(shù)

2015-11-03 14:03:25

WPS辦公軟件

2022-07-28 09:00:00

深度學(xué)習(xí)網(wǎng)絡(luò)類型架構(gòu)

2011-08-18 11:26:23

Kingsoft OfOffice

2020-09-09 10:20:48

GraphSAGE神經(jīng)網(wǎng)絡(luò)人工智能

2024-02-28 15:12:40

網(wǎng)絡(luò)安全NIST

2009-12-30 13:57:04

Ubuntu Moon

2016-07-25 10:04:28

MicrosoftWindows 10微軟

2018-07-03 16:10:04

神經(jīng)網(wǎng)絡(luò)生物神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)

2014-03-03 13:42:32

Informatica

2024-12-12 00:29:03

2024-02-29 19:37:44

網(wǎng)絡(luò)安全框架網(wǎng)絡(luò)安全CSF

2012-10-18 09:19:29

AppCan 2.0AppCan

2020-05-11 13:44:38

神經(jīng)網(wǎng)絡(luò)人工智能深度學(xué)習(xí)

2012-03-08 09:07:16

iOS 5.1iOS

2012-11-16 09:50:32

Windbg

2025-02-25 14:13:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)