SuperAPI AI 工具集

torch-geometric

通用与其它

查看项目

更新于 10-15 23:58

技能介绍

用途:PyTorch Geometric(PyG)是基于 PyTorch 的图神经网络(GNN)开发与训练库,适用于图及不规则结构上的深度学习,包括小批量处理、多 GPU 训练与几何深度学习。适用任务包括节点分类、图分类、链接预测、分子性质预测、社交网络分析、引文网络分类与推荐、3D 几何数据(点云、网格、分子结构)、异构图与大规模图学习。

主要能力:以 Data 类表示图,核心属性有 data.x(节点特征)、data.edge_index(COO 格式的 [2, num_edges] 连接)、data.edge_attr、data.y、data.pos,可扩展自定义属性。DataLoader 通过块对角邻接矩阵拼接多图实现高效批处理,无需填充。提供 40 多种卷积层,如 GCNConv、GATConv、SAGEConv,并支持继承 MessagePassing 自定义消息传递层(可实现 forward、message、aggregate、update)。内置 Planetoid、TUDataset、QM9、Reddit 等基准数据集,可继承 InMemoryDataset 或 Dataset 创建自定义数据集,并支持从 CSV 加载。提供 NormalizeFeatures、AddSelfLoops、Compose 等变换,NeighborLoader 用于大图邻居采样,HeteroData、to_hetero、HeteroConv 支持异构图,Explainer 与 GNNExplainer 支持模型可解释性。

使用方式:安装命令为 uv pip install torch_geometric;如需稀疏运算、聚类等附加依赖,可用 uv pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html。基本流程为构造 Data、选择卷积层搭建模型、使用 Adam 等优化器训练,并在训练集掩码上计算损失、在测试掩码上评估。

限制:使用 NeighborLoader 时输出子图为有向、节点索引会重编号(0 到 batch.num_nodes - 1),损失仅应使用种子节点预测,采样超过 2-3 跳通常不可行。资料未提供收费、价格与平台信息。