SuperAPI AI 工具集

torch-geometric

智能体与模型

查看项目

更新于 10-16 06:21

技能介绍

PyTorch Geometric(PyG)是构建在 PyTorch 之上的图神经网络(GNN)标准库,提供图数据结构、60 多种 GNN 层、可扩展的小批量训练以及异构图支持。

用途:支持节点分类、链接预测、图分类等任务,覆盖 GCN、GAT、GraphSAGE、GIN 等常见消息传递模型,并提供分子、点云等标准数据集。

安装:先按平台从 https://pytorch.org/get-started/locally/ 安装 PyTorch,再执行 uv pip install torch==2.14.1 uv pip install torch-geometric==2.8.0.post1 并用 python -c "import torch, torch_geometric; print(...)" 验证。基础张量层无需扩展;邻居采样需 pyg-lib 或 torch-sparse,空间 k-NN 在 2.8 需 pyg-lib。安装扩展时须匹配 Python/OS/Torch/CUDA 版本的 wheel,不要因核心导入成功就安装不同 Torch 版本的 wheel。

主要能力:Data/HeteroData 管理同质与异构图;Planetoid、TUDataset、OGB 等数据集自动下载预处理;Transforms 做特征归一化、转无向、加自环、k-NN 构图与数据增强;torch_geometric.nn 提供 GCNConv、GATConv、SAGEConv、GINConv 等层及 GraphSAGE、GCN 等高层模型;通过继承 MessagePassing 并实现 message/aggregate/update 可自定义 GNN 层。

使用方式:构建 edge_index 时注意其为 [2, num_edges] 的 COO 格式,而非元组列表;无节点特征时应显式设置 num_nodes,避免孤立节点破坏批处理偏移。图分类用 DataLoader 小批量并配合 global_mean_pool 等池化;链接预测可用 RandomLinkSplit 划分边并做负采样;大图可用 NeighborLoader 或 LinkNeighborLoader 采样,种子节点为输出前 batch_size 个。异构图可用 to_hetero()、HeteroConv 或 HGTConv 构建。

限制:PyG 2.8 需要 PyTorch 2.9+;torch-cluster 与 torch-spline-conv 已弃用,Torch >2.5 不再提供 Conda 包;OGB 基准需单独的 ogb 包与官方划分,不应替换为随机划分。文中部分采样、GPU、分布式与下载示例未经验证,仅作说明。