用途:PyTorch Geometric(PyG)是构建在 PyTorch 之上的库,用于开发与训练图神经网络(GNN),适用于图与不规则结构上的深度学习,包括小批量处理、多 GPU 训练与几何深度学习应用。
主要能力:支持图机器学习(节点分类、图分类、链接预测)、分子性质预测(药物发现、化学性质预测)、社交网络分析(社区检测、影响预测)、引文网络(论文分类、推荐)、3D 几何数据(点云、网格、分子结构)、异构图(多类型节点与边,如知识图谱)、大规模图学习(邻居采样、分布式训练)。内置 40 多种卷积层,常见有 GCNConv、GATConv、SAGEConv;提供 MessagePassing 基类支持自定义消息传递层;提供 Data、HeteroData、InMemoryDataset 等数据结构,以及 Planetoid、TUDataset、QM9、Reddit 等基准数据集;支持 NormalizeFeatures、AddSelfLoops 等变换与 GNNExplainer 可解释性工具。
使用方式:安装用 uv pip install torch_geometric,稀疏操作等额外依赖按资料中的 pyg_lib、torch_scatter 等命令安装(需匹配 torch 与 CUDA 版本)。基本用法为用 Data(x=x, edge_index=edge_index) 构建图,edge_index 为 [2, num_edges] 的 COO 格式张量;用 DataLoader 做小批量,用 NeighborLoader 做大规模图邻居采样;训练流程为定义模型、优化器,前向计算输出并计算 loss 反传。
限制:NeighborLoader 输出的子图是有向的,节点索引会被重标号,loss 只能用种子节点预测计算;采样一般不超过 2 至 3 跳;数据集需区分内存内(InMemoryDataset)与超出内存(Dataset)两种实现。其余未在资料中说明的内容暂未提供。