SuperAPI AI 工具集

torch-geometric-graph-neural-networks

通用与其它

查看项目

更新于 10-15 22:40

技能介绍

用途:PyTorch Geometric(PyG)是构建在 PyTorch 之上的图神经网络(GNN)库,用于开发与训练 GNN。适用节点分类(引文、社交、生物网络)、图级分类(分子活性、蛋白质功能)、链接预测(知识图谱、推荐)、分子性质预测、3D 点云与网格分析、大规模图学习(>100K 节点)以及多类型节点/边的异构图。非图深度学习应直接用 PyTorch;传统图算法(最短路、中心性)用 NetworkX。

主要能力:提供 40+ 卷积层(GCNConv、GATConv、SAGEConv、GINConv、TransformerConv、ChebConv、NNConv、SchNet、RGCNConv、HGTConv、EdgeConv 等);通过块对角邻接矩阵实现小批量处理,无需填充;NeighborLoader 支持大规模图的邻居采样;HeteroData 与 to_hetero 支持异构图;提供全局/层次池化、多种聚合方式、数据变换与划分工具,以及 GNNExplainer 可解释性。

使用方式:安装 pip install torch torch_geometric,可选 pip install pyg_lib torch_scatter torch_sparse torch_cluster。数据用 Data(x, edge_index, y) 表示,edge_index 为 [2, num_edges] 的 COO 格式;小批量用 DataLoader,图级读出用 global_mean_pool(x, batch);大规模训练用 NeighborLoader(data, num_neighbors=[25,10], batch_size=128, input_nodes=data.train_mask),损失只在前 batch_size 个种子节点上计算。

限制与注意:GNN 通常只需 2-3 层,过深会导致过平滑,可用 JumpingKnowledge 或 PairNorm;图分类中必须传入 batch 向量;模型与数据都需 .to(device);邻居采样输出的子图是有向且索引重标号。具体收费、平台与效果资料暂未提供。