用途:PyTorch Geometric(PyG)是构建在 PyTorch 之上的图神经网络(GNN)库,适用于图与不规则结构上的深度学习,包括节点分类、图分类、链接预测、分子性质预测、社交网络分析、引文网络、3D 几何数据(点云、网格、分子结构)、异构图(多类型节点与边,如知识图谱)以及大规模图学习(邻居采样、分布式训练)。
主要能力:提供 40 多个卷积层(如 GCNConv、GATConv、SAGEConv),可堆叠使用或通过继承 MessagePassing 自定义层;支持 Data 对象(x、edge_index、edge_attr、y、pos 等属性)、DataLoader 小批量处理(将多图合并为块对角图,无填充)、NeighborLoader 邻居采样、HeteroData/to_hetero 异构图、transforms、GNNExplainer 可解释性、层次池化、GPU 与保存/加载。
使用方式:安装命令为 uv pip install torch_geometric;可选编译算子 uv pip install pyg-lib -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html。PyG 2.8 已将 torch-cluster 与 torch-spline-conv 并入 pyg-lib(>=0.7),无需单独安装;NeighborLoader 在未安装 pyg-lib(或 torch-sparse)时会抛出 ImportError。典型流程:加载或构建数据(内置数据集、自定义 InMemoryDataset 或从 CSV 读取)→ 定义 GNN → 训练(节点分类用掩码,图分类用 DataLoader 加全局池化,大规模用 NeighborLoader)→ 按需使用异构图、变换、可解释性等高级功能。
限制与说明:不适用于经典图算法、中心性、最短路径或无学习的网络可视化(应改用 alterlab-networkx);社会网络分析设计(中心性、社区检测、ERGMs)应改用 alterlab-sna;端到端分子性质预测(MoleculeNet 特征器与预训练化学模型)应改用 alterlab-deepchem;基于 TorchDrug 数据集与任务的项目应改用 alterlab-torchdrug。官方文档见 https://pytorch-geometric.readthedocs.io/,GitHub 见 https://github.com/pyg-team/pytorch_geometric。