文檔|紙| COLAB筆記本和視頻教程|外部資源| OGB示例
Pyg (Pytorch幾何)是一個基於Pytorch的庫,可輕鬆編寫和訓練與結構化數據相關的廣泛應用程序編寫和訓練圖形神經網絡(GNNS)。
它包括各種在圖形和其他不規則結構(也稱為幾何深度學習)上的各種方法組成的方法。此外,它由易於使用的迷你批次裝載機組成,用於在許多小型和單一的巨型圖,多GPU-support,torch.com上操作, torch.compile支持, DataPipe支持支持,大量常見的基準測試數據集(基於簡單的簡單接口(以創建您的創建您自己的簡單接口)和有用的轉換,用於在任意圖形上學習,以及在3DDD MESHES或BOIND SESHES或POINTS上學習。
單擊此處加入我們的Slack社區!
- 庫亮點
- 新用戶的快速旅行
- 體系結構概述
- 實施的GNN模型
- 安裝
庫亮點
無論您是機器學習研究人員還是機器學習工具包的首次用戶,這都是一些理由,可以在圖形結構化數據上嘗試使用PYG進行機器學習。
- 易於使用和統一的API :只需使用10-20行代碼即可開始培訓GNN型號(請參閱下一節以獲取快速旅行)。 Pyg是搖滾樂上的Pytorch :它使用以張量為中心的API,並將設計原理保持在Vanilla Pytorch附近。如果您已經熟悉Pytorch,那麼使用PYG很簡單。
- 全面且維護良好的GNN模型:圖書館開發人員或研究論文的作者已經實施了大多數最先進的圖形神經網絡架構,並準備好應用。
- 靈活性:現有的PYG模型可以輕鬆擴展,以便使用GNN進行自己的研究。對現有模型進行修改或創建新的體系結構非常簡單,這要歸功於其易於使用的消息傳遞API以及各種操作員和實用程序功能。
- 大型現實世界中的GNN模型:我們專注於在挑戰現實世界中對GNN應用的需求,並支持對各種圖形的學習,包括但不限於:可伸縮的GNN用於具有數百萬個節點的圖形;隨著時間的推移,節點預測的動態GNN;具有多種節點類型和邊緣類型的異質GNN。
新用戶的快速旅行
在這次快速旅行中,我們強調了僅使用幾行代碼創建和培訓GNN模型的便利性。
培訓自己的GNN模型
在PYG的第一次瞥見中,我們實施了GNN的培訓,用於在引文圖中對論文進行分類。為此,我們加載了CORA數據集,並使用預定義的GCNConv創建一個簡單的2層GCN模型:
import torch
from torch import Tensor
from torch_geometric . nn import GCNConv
from torch_geometric . datasets import Planetoid
dataset = Planetoid ( root = '.' , name = 'Cora' )
class GCN ( torch . nn . Module ):
def __init__ ( self , in_channels , hidden_channels , out_channels ):
super (). __init__ ()
self . conv1 = GCNConv ( in_channels , hidden_channels )
self . conv2 = GCNConv ( hidden_channels , out_channels )
def forward ( self , x : Tensor , edge_index : Tensor ) -> Tensor :
# x: Node feature matrix of shape [num_nodes, in_channels]
# edge_index: Graph connectivity matrix of shape [2, num_edges]
x = self . conv1 ( x , edge_index ). relu ()
x = self . conv2 ( x , edge_index )
return x
model = GCN ( dataset . num_features , 16 , dataset . num_classes )現在,我們可以在訓練循環中優化該模型,類似於標準的Pytorch培訓程序。
import torch . nn . functional as F
data = dataset [ 0 ]
optimizer = torch . optim . Adam ( model . parameters (), lr = 0.01 )
for epoch in range ( 200 ):
pred = model ( data . x , data . edge_index )
loss = F . cross_entropy ( pred [ data . train_mask ], data . y [ data . train_mask ])
# Backpropagation
optimizer . zero_grad ()
loss . backward ()
optimizer . step ()有關評估最終模型性能的更多信息,請參見相應的示例。
創建自己的GNN層
除了輕鬆應用現有GNN,PYG還使實現自定義圖形神經網絡變得易於使用(隨附的教程,請參見此處)。例如,這是實現Wang等人的邊緣卷積層所需的全部。 :
$ x_i^{ prime}〜=〜 max_}
import torch
from torch import Tensor
from torch . nn import Sequential , Linear , ReLU
from torch_geometric . nn import MessagePassing
class EdgeConv ( MessagePassing ):
def __init__ ( self , in_channels , out_channels ):
super (). __init__ ( aggr = "max" ) # "Max" aggregation.
self . mlp = Sequential (
Linear ( 2 * in_channels , out_channels ),
ReLU (),
Linear ( out_channels , out_channels ),
)
def forward ( self , x : Tensor , edge_index : Tensor ) -> Tensor :
# x: Node feature matrix of shape [num_nodes, in_channels]
# edge_index: Graph connectivity matrix of shape [2, num_edges]
return self . propagate ( edge_index , x = x ) # shape [num_nodes, out_channels]
def message ( self , x_j : Tensor , x_i : Tensor ) -> Tensor :
# x_j: Source node features of shape [num_edges, in_channels]
# x_i: Target node features of shape [num_edges, in_channels]
edge_features = torch . cat ([ x_i , x_j - x_i ], dim = - 1 )
return self . mlp ( edge_features ) # shape [num_edges, out_channels] 體系結構概述
PYG提供了一個多層框架,使用戶能夠在低水平和高級構建圖形神經網絡解決方案。它包括以下組件:
- PYG引擎利用具有完整的
torch.compile和Torchscript支持的功能強大的Pytorch深度學習框架,以及添加有效的CPU/CUDA庫來在稀疏數據上操作,例如pyg-lib 。 - PYG存儲處理數據處理,轉換和加載管道。它能夠處理和處理大型圖數據集,並為異構圖提供有效的解決方案。它進一步提供了多種抽樣溶液,可以在大規模圖上訓練GNN。
- PYG操作員捆綁了用於實現圖形神經網絡的基本功能。 PYG支持重要的GNN構建塊,這些構件可以組合併應用於GNN模型的各個部分,從而確保GNN設計的靈活性豐富。
- 最後,PYG提供了大量的GNN模型,以及在標準圖基准上展示GNN模型的示例。由於其靈活性,用戶可以輕鬆地構建和修改自定義GNN模型以滿足其特定需求。
實施的GNN模型
我們根據類別列出當前支持的PYG模型,層和操作員:
GNN層:所有圖形神經網絡層都是通過nn.MessagePassing接口實現的。 GNN層指定瞭如何執行消息傳遞,即通過設計不同的消息,聚合和更新功能,如下所示。這些GNN層可以堆疊在一起以創建圖形神經網絡模型。
- 來自KIPF和Welling的GCNCONV :圖形卷積網絡的半監督分類(ICLR 2017)[示例]
- Defferrard等人的Chebconv 。 :具有快速局部光譜過濾的圖表上的捲積神經網絡(NIPS 2016)[示例]
- 來自Veličković等人的Gatconv 。 :圖形注意網絡(ICLR 2018)[示例]
擴展以查看所有實施的GNN層...
- Chen等人的GCN2Conv 。 :簡單而深的圖形卷積網絡(ICML 2020)[示例1 ,示例2 ]
- Fey等人的SplineConv 。 :splinecnn:使用連續B-Spline內核快速幾何深度學習(CVPR 2018)[ example1 , example2 ]
- Gilmer等人的NNCONV 。 :量子化學的神經信息傳遞(ICML 2017)[示例1 ,示例2 ]
- XIE和Grossman的CGCONV :Crystal Graph卷積神經網絡,用於對材料特性進行準確且可解釋的預測(物理評論信120,2018)
- 來自Simonovsky和Komodakis的ECCONV :圖表上的邊緣條件卷積(CVPR 2017)
- 來自Palor等人的EGCONV 。 :自適應過濾器和聚合器融合用於有效的圖形卷積(GNNSYS 2021)[示例]
- Brody等人的GATV2Conv 。 :圖形注意力網絡的關注程度如何? (ICLR 2022)
- Shi等人的TransformerConv 。 :蒙版標籤預測:半監督分類的統一消息傳遞模型(Corr 2020)[示例]
- 漢密爾頓等人的Sageconv 。 :大圖上的歸納表示學習(NIPS 2017)[示例1 ,示例2 ,示例3 , exampe4 ]
- GraphConv來自,例如,Morris等。 :Weisfeiler和Leman進行神經:高階圖神經網絡(AAAI 2019)
- Li等人的GatedGraphConv 。 :門控圖序列神經網絡(ICLR 2016)
- Bresson和Laurent的ResgatedGraphConv :剩餘的封閉圖形彎曲(Corr 2017)
- Xu等人的Ginconv 。 :圖形神經網絡有多強大? (ICLR 2019)[示例]
- Hu等人的Gineconv 。 :預訓練圖神經網絡的策略(ICLR 2020)
- Bianchi等人的Armaconv 。 :帶有捲積ARMA過濾器的圖形神經網絡(Corr 2019)[示例]
- Wu等人的SGCONV 。 :簡化圖形卷積網絡(Corr 2019)[示例]
- Klicpera等人的AppNP 。 :預測然後傳播:圖神經網絡符合個性化的Pagerank(ICLR 2019)[示例]
- Duvenaud等人的MFCONV 。 :用於學習分子指紋的圖表上的捲積網絡(NIPS 2015)
- 來自TheKumparampil等人的Agnnconv 。 :基於注意的半監督學習的基於注意的圖形神經網絡(Corr 2017)[示例]
- Du等人的TagConv 。 :拓撲自適應圖卷積網絡(Corr 2017)[示例]
- Corso等人的PNACONV 。 :圖網的主要鄰域聚集(Corr 2020)[示例]
- Bo等人的Faconv 。 :超出圖形卷積網絡中的低頻信息(AAAI 2021)
- Rozemberczki等人的PDNCONV 。 :神經消息傳遞的探路者發現網絡(www 2021)
- Schlichtkrull等人的RGCNCONV 。 :使用圖形卷積網絡(ESWC 2018)[ example1 , xpemend2 ]對關係數據進行建模
- Busbridge等人的RGATCONV 。 :關係圖注意網絡(Corr 2019)[示例]
- Brockschmidt的FilmConv :GNN-FILM:具有特徵線性調製的圖形神經網絡(ICML 2020)[示例]
- Derr等人的SignedConv 。 :簽名的圖形卷積網絡(ICDM 2018)[示例]
- Fey的DNACONV :Just Just:Graph神經網絡中的動態鄰域聚集(ICLR-W 2019)[示例]
- Ma等人的Panconv 。 :基於路徑積分的捲積和圖形神經網絡的合併(Neurips 2020)
- PointNetConv (包括迭代最遠的點採樣,基於最近的鄰居或最大距離的動態圖生成以及Qi等人的k-nn插值)。 :PointNet:3D分類和細分的點集深度學習(CVPR 2017)和PointNet ++:指標空間中點集的深層分層特徵學習(NIPS 2017)[ example1 ,xpemend1,xpement1, xpecence2 ]
- Wang等人的Edgeconv 。 :用於在點雲上學習的動態圖CNN(Corr,2018)[示例1 ,示例2 ]
- Li等人的XCONV 。 :pointcnn:X轉換點上的捲積(Neurips 2018)[示例]
- Deng等人的PPFCONV 。 :PPFNET:全球上下文意識到魯棒3D點匹配的本地功能(CVPR 2018)
- Monti等人的GMMCONV 。 :使用混合模型CNN對圖和歧管上的幾何深度學習(CVPR 2017)
- Verma等人的FeastConv 。 :feastnet:用於3D形狀分析的特徵步態圖卷積(CVPR 2018)
- Zhao等人的PointTransFormerConv 。 :Point Transformer(2020)
- Bai等人的HyperGraphConv 。 :HyperGraph卷積和超圖(Corr 2019)
- Qasim等人的GravnetConv 。 :具有距離加權圖網絡的不規則粒子檢測器幾何形狀的學習表示(歐洲物理學雜誌C,2019年)
- 來自Kim and Oh的Supergat :如何找到您的友好社區:與自我判斷(ICLR 2021)的圖形注意力設計[示例]
- Hu等人的HGTCONV 。 :異質圖變壓器(www 2020)[示例]
- 來自Mo等人的Heatconv 。 :多代理軌跡預測的異質邊緣增強圖形網絡(Corr 2021)
- 朱等人的SSGCONV 。 :簡單的光譜圖卷積(ICLR 2021)
- Zhang等人的FusedgatConv 。 :了解GNN計算圖:協調計算,IO和內存透視圖(MLSYS 2022)
- Rampášek等人的GPSCONV 。 :一般,功能強大,可擴展的圖形變壓器(Neurips 2022)的配方[示例]
合併層:圖池層將圖(或子圖)中一組節點的矢量表示結合到單個矢量表示中,總結了其節點的屬性。它通常應用於圖形級任務,這些任務需要將節點特徵組合到單個圖表中。
- GAO和JI的Top-K池:圖U-Nets(ICML 2019),Cangea等。 :邁向稀疏的層次圖分類器(Neurips-W 2018)和Knyazev等。 :了解圖神經網絡中的注意力和概括(ICLR-W 2019)[示例]
- Ying等人的差異。 :層次圖表示學習具有可區分的合併(Neurips 2018)[示例]
展開以查看所有實施的池層...
- Li等人的注意聚集。 :用於學習圖形結構化對象的相似性的圖形匹配網絡(ICML 2019)[示例]
- Vinyals等人的SET2SET 。 :順序問題:集合的順序(ICLR 2016)[示例]
- 從Zhang等人分類聚集。 :用於圖形分類的端到端深度學習體系結構(AAAI 2018)[示例]
- Bianchi等人的Mincut Pooling 。 :用於圖池的圖形神經網絡的光譜聚類(ICML 2020)[示例]
- Tsitsulin等人的DMON POMING 。 :使用圖形神經網絡(Corr 2020)[示例]的圖形聚類[示例]
- Dhillon等人的Graclus Poling 。 :沒有特徵向量的加權圖切割:多級方法(Pami 2007)[示例]
- 來自EG ,Simonovsky和Komodakis的Voxel Grid PORINGING :圖上的捲積神經網絡中的動態邊緣條件過濾器(CVPR 2017)[示例]
- Lee等人的下垂合併。 :自我發項圖池(ICML 2019)和Knyazev等。 :了解圖神經網絡中的注意力和概括(ICLR-W 2019)[示例]
- Diehl等人的邊緣匯聚。 :通過邊緣收縮(ICML-W 2019)和DIEHL邁出圖形:圖形神經網絡的邊緣收縮池(Corr 2019)[示例]
- Ranjan等人的急救。 :ASAP:自適應結構意識到學習層次圖表示(AAAI 2020)[示例]
- Ma等人的Panpooling 。 :基於路徑積分的捲積和圖形神經網絡的合併(Neurips 2020)
- 來自Khasahmadi等人的紀念。 :基於內存的圖形網絡(ICLR 2020)[示例]
- Baek等人的圖形多磁力變壓器。 :使用圖形多層池(ICLR 2021)[示例]準確學習圖表表示形式
- Bartunov等人的平衡聚集。 :(UAI 2022)[示例]
GNN模型:我們支持的GNN模型結合了多個消息傳遞層,用戶可以直接使用這些預定義的模型來對圖進行預測。與簡單的GNN層堆疊不同,這些模型可能涉及預處理,其他可學習的參數,跳過連接,圖形變形等。
- Schütt等人的Schnet 。 :schnet:用於建模量子相互作用的連續過濾器卷積神經網絡(NIPS 2017)[示例]
- Klicpera等人的Dimenet和DimenetPlusplus 。 :分子圖(ICLR 2020)的定向消息傳遞以及非平衡分子的快速和不確定性意識到的方向信息(Neurips-W 2020)[示例] [示例]
- Node2Vec來自Grover and Leskovec:Node2Vec:網絡的可擴展功能學習(KDD 2016)[示例]
- Veličković等人的深圖信息。 :深圖信息(ICLR 2019)[示例1 ,示例2 ]
- Park等人的深度多重圖信息。 :無監督的屬性多重網絡嵌入(AAAI 2020)[示例]
- Shi等人的蒙版標籤預測。 :蒙版標籤預測:半監督分類的統一消息傳遞模型(Corr 2020)[示例]
- Yang等人的PMLP 。 :圖形神經網絡本質上是良好的概括:通過橋接GNN和MLP的見解(ICLR 2023)
擴展以查看所有已實施的GNN模型...
- Xu等人的跳躍知識。 :具有跳躍知識網絡(ICML 2018)的圖表上的表示形式學習[示例]
- 一種用於構建任何類型的圖形網絡的金屬工具,類似於Battaglia等人的TensorFlow圖庫。 :關係歸納偏見,深度學習和圖形網絡(Corr 2018)
- Dong等人的Metapath2Vec 。 :metapath2vec:異質網絡的可擴展表示學習(KDD 2017)[示例]
- 所有圖形自動編碼器和各種自動編碼器的變體都來自:
- 來自KIPF和Welling的變異圖自動編碼器(NIPS-W 2016)[示例]
- Pan等人的圖形嵌入的對抗正規圖自動編碼器。 (IJCAI 2018)[示例]
- Salha等人的單跳線模型的簡單有效的圖形自動編碼器。 (ECML 2020)[示例]
- Zhang和Chen的密封:基於圖神經網絡的鏈接預測(Neurips 2018)[示例]
- Jin等人的Renet 。 :用於推理時間知識圖的重複事件網絡(ICLR-W 2019)[示例]
- GAO和JI的Graphunet :Graph U-Nets(ICML 2019)[示例]
- Xiong等人的ActentiveFP 。 :使用圖形注意機制(J.Med。Chem。2020)推動分子表示的邊界以進行藥物發現[示例]
- DeepGCN和Li等人的Genconv 。 :DEEPGCNS:GCN可以像CNN一樣深嗎? (ICCV 2019)和DeeperGCN:您需要訓練更深的GCN(Corr 2020)[示例]
- 王子等。 :具有完全不平衡的標籤(TKDE 2020)的網絡嵌入[示例]
- Ying等人的gnnexplainer 。 :gnnexplainer:生成圖形神經網絡的解釋(Neurips 2019)[ example1 , xenpem2 , xpace3 ]
- Zhang等人的無圖形神經網絡。 :無圖形神經網絡:通過蒸餾(Corr 2021)教授舊MLP的新技巧[示例]
- Lim等人的Linkx 。 :在非全體圖形上進行大規模學習:新的基準測試和強大的簡單方法(Neurips 2021)[示例]
- Li等人的Revgnn 。 :帶有1000層的訓練圖神經(ICML 2021)[示例]
- Bordes等人的Transe 。 :翻譯用於建模多關係數據的嵌入式(NIPS 2013)[示例]
- Trouillon等人的複合物。 :簡單鏈接預測的複雜嵌入(ICML 2016)[示例]
- Yang等人的脫口秀。 :嵌入學習和推斷知識基礎的實體和關係(ICLR 2015)[示例]
- 從Sun等人旋轉。 :旋轉:通過關係旋轉在復雜空間中嵌入的知識圖(ICLR 2019)[示例]
GNN運營商和實用程序: PYG配備了許多GNN模型中通常使用的神經網絡操作員。他們遵循可擴展的設計:將這些操作員和圖形實用程序應用於現有的GNN層和模型以進一步增強模型性能。
- Rong等人的Dropedge 。 :dropEdge:朝向節點分類的深圖卷積網絡(ICLR 2020)
- dropnode , maskFeature和您等人的addmodomedge 。 :圖形對比度學習與增強(神經2020年)
- Li等人的DropPath 。 :Maskgae:蒙版圖建模符合圖自動編碼器(ARXIV 2022)
- Veličković等人的洗牌碼。 :Deep Graph Infomax(ICLR 2019)
- Cai等人的石墨。 :Graphnorm:一種加速圖神經網絡訓練的原則方法(ICML 2021)
- Klicpera等人的GDC 。 :擴散改善圖形學習(Neurips 2019)[示例]
擴展以查看所有已實施的GNN運營商和實用程序...
- Dwivedi等人的GraphSizenorm 。 :基準圖形神經網絡(Corr 2020)
- 來自Zhao和Akoglu的配對:配對:在GNNS中進行過度尺寸(ICLR 2020)
- 來自Yang等人的MeneubTractionNorm 。 :重新訪問深GCN中的“過度平滑”(Corr 2020)
- Zhou等人的DiffGroupNorm 。 :邁向具有可區分群歸一化的更深圖神經網絡(神經2020)
- Jin等人的樹分解。 :分子圖生成的交界樹變異自動編碼器(ICML 2018)
- Rossi等人的TGN 。 :用於深度學習動態圖(GRL+ 2020)的時間圖網絡[示例]
- Weisfeiler Lehman運營商Weisfeiler和Lehman的操作員:將圖形減少到規範形式,並在此減少過程中產生的代數(Nauchno-Technichnicheskaya Informatsia 1968)[示例] [示例]
- Togninalli等人的連續Weisfeiler Lehman運營商。 :Wasserstein Weisfeiler-Lehman圖核(Neurips 2019)
- Zhu和Ghahramani的標籤傳播:通過標籤傳播的標籤和未標記數據學習(CMU-Cald 2002)[示例]
- CAI和Wang的本地學位概況:非屬性圖分類的簡單而有效的基線(Corr 2018)
- Huang等人的Crorice和Smooth 。 :結合標籤傳播和簡單模型超過績效圖形神經網絡(Corr 2020)[示例]
- Henderson等人的Gini和Bro正規化。 :改善分子圖神經網絡的解釋性,正式化和誘導的稀疏性(ICML 2021)
- Zhao等人的rootedegonets和rootedrwsubgraph 。 :從恆星到子圖:以局部結構意識提升任何GNN(ICLR 2022)
- Rossi等人的特徵傳播。 :關於特徵傳播在學習圖表特徵缺少特徵的圖表中的不合理有效性(Corr 2021)
可擴展的GNN: PYG支持可以擴展到大規模圖的圖形神經網絡的實現。由於整個圖,其關聯的功能和GNN參數不能適合GPU內存,因此此類應用程序具有挑戰性。許多最先進的可伸縮性方法通過對社區進行微型批次培訓,圖形聚類和分區或使用簡化的GNN模型來應對這一挑戰。這些方法已在PYG中實施,可以從上述GNN層,操作員和模型中受益。
- 漢密爾頓等人的鄰居負載。 :在大圖上的歸納表示學習(NIPS 2017)[ example1 , xpemend2 , xpemend3 ]
- Chiang等人的ClusterGCN 。 :cluster-GCN:一種用於訓練深層和大圖卷積網絡的有效算法(KDD 2019)[ example1 , example2 ]
- Zeng等人的GraphSaint 。 :GraphSaint:基於圖抽樣的電感學習方法(ICLR 2020)[示例]
展開以查看所有實施的可伸縮GNN ...
- Zeng等人的影子。 :將圖神經網絡的深度和範圍解耦(Neurips 2021)[示例]
- Rossi等人的簽名。 :標誌:可擴展的插入圖神經網絡(Corr 2020)[示例]
- Hu等人的HGTLOADER 。 :異質圖變壓器(www 2020)[示例]
安裝
PYG可用於Python 3.9至Python 3.12。
Anaconda
您現在可以通過Anaconda安裝PYG,以適用於所有主要的OS/Pytorch/CUDA組合?如果您尚未安裝Pytorch,請按照Pytorch官方文檔中所述通過conda進行安裝。鑑於您已安裝了Pytorch( >=1.8.0 ),只需運行
PYPI
從PYG 2.3開始,您可以安裝和使用PYG,而無需任何外部庫,除了Pytorch。為此,只需運行
pip install torch_geometric
其他庫
如果您想利用PYG中的完整功能,則可能需要安裝幾個其他庫:
-
pyg-lib :異質GNN操作員和圖形採樣例程 torch-scatter :加速有效的稀疏減少torch-sparse : SparseTensor支持torch-cluster :圖形聚類例程torch-spline-conv : SplineConv支持
這些軟件包帶有基於Pytorch C ++/CUDA/HIP(ROCM)擴展接口的CPU和GPU內核實現。對於PYG的基本用法,這些依賴項是完全可選的。我們建議從最小安裝開始,並在您真正需要它們後安裝其他依賴項。
為了易於安裝這些擴展,我們為所有主要的OS/Pytorch/CUDA組合提供了pip輪轂,請參見此處。
Pytorch 2.5
要安裝Pytorch 2.5.0的二進製文件,只需運行
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.5.0+${CUDA}.html
${CUDA}應取代cpu , cu118 , cu121或cu124 ,具體取決於您的pytorch安裝。
| cpu | cu118 | cu121 | cu124 |
|---|
| Linux | ✅ | ✅ | ✅ | ✅ |
| 視窗 | ✅ | ✅ | ✅ | ✅ |
| macos | ✅ | | | |
Pytorch 2.4
要安裝Pytorch 2.4.0的二進製文件,只需運行
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+${CUDA}.html
${CUDA}應取代cpu , cu118 , cu121或cu124 ,具體取決於您的pytorch安裝。
| cpu | cu118 | cu121 | cu124 |
|---|
| Linux | ✅ | ✅ | ✅ | ✅ |
| 視窗 | ✅ | ✅ | ✅ | ✅ |
| macos | ✅ | | | |
Note: Binaries of older versions are also provided for PyTorch 1.4.0, PyTorch 1.5.0, PyTorch 1.6.0, PyTorch 1.7.0/1.7.1, PyTorch 1.8.0/1.8.1, PyTorch 1.9.0, PyTorch 1.10.0/1.10.1/1.10.2, PyTorch 1.11.0, PyTorch 1.12.0/1.12.1,Pytorch 1.13.0/1.13.1,Pytorch 2.0.0/2.0.1,Pytorch 2.1.0/2.1.1.1/2.1.2,Pytorch 2.2.0/2.2.1.2.1.2.1/2.2.2,以及Pytorch 2.3.0/2.3.0/2.3.0/2.3.1/2.3.1(遵循同一過程)。對於較舊的版本,您可能需要明確指定最新支持的版本編號,或通過pip install --no-index安裝,以防止源頭安裝手動安裝。您可以在此處查找最新支持的版本號。
NVIDIA PYG容器
NVIDIA提供了一個PYG Docker容器,可輕鬆地培訓和與PYG一起部署GPU加速GNN,請參見此處。
每晚和主人
如果您想嘗試尚未完全發布的最新PYG功能,請安裝夜間版本的PYG
或通過Master通過
pip install git+https://github.com/pyg-team/pytorch_geometric.git
ROCM車輪
外部pyg-rocm-build存儲庫提供了有關如何為ROCM安裝PYG的車輪和詳細說明。如果您對此有任何疑問,請在此處打開一個問題。
引用
如果您在自己的工作中使用此代碼,請引用我們的論文(以及所使用的方法的各自論文):
@inproceedings{Fey/Lenssen/2019,
title={Fast Graph Representation Learning with {PyTorch Geometric}},
author={Fey, Matthias and Lenssen, Jan E.},
booktitle={ICLR Workshop on Representation Learning on Graphs and Manifolds},
year={2019},
}
如果您希望在外部資源中列出您的工作,請隨時給我們發送電子郵件。如果您注意到任何意外的事情,請打開一個問題,讓我們知道。如果您有任何疑問或缺少特定功能,請隨時與我們討論它們。我們有動力不斷使PYG變得更好。