🆕 使用GraphBolt进行GNN的随机训练

GraphBolt 是一个为 GNN 设计的数据加载框架,具有高度的灵活性和可扩展性。它建立在 DGL 和 PyTorch 之上。

本教程介绍如何使用GraphBolt启用GNN的随机训练。

Overview

Graphbolt Overview

GraphBolt 与 PyTorch 的 datapipe 无缝集成,依赖于统一的“MiniBatch”数据结构来连接处理阶段。它简化了 GNN 训练、验证和测试的数据加载和预处理。 默认情况下,GraphBolt 提供了一系列内置数据集和针对常见场景的极其高效的数据管道实现,可以总结如下:

  1. 项目采样器: 从整个训练集中随机选择一个子集(节点、边、图)作为下游计算的初始小批量。

  2. 负采样器:专门为链接预测任务设计,它生成不存在的边作为训练的负样本。

  3. 子图采样器: 根据输入的节点/边生成子图进行计算。

  4. 特征提取器: 从数据集中获取给定输入的相关节点/边特征。

通过将整个数据加载过程暴露为管道,GraphBolt 提供了显著的灵活性和定制机会。用户可以轻松地用他们自己的实现替换任何阶段。此外,即使使用自定义阶段,用户也可以从数据管道的优化调度策略中受益。

总之,GraphBolt 提供了以下好处:

  1. 一个灵活的、管道化的框架,用于GNN数据加载和预处理。

  2. 高效的规范实现。

  3. 高效的调度。

场景