🆕 dgl.graphbolt
dgl.graphbolt 是一个用于 GNN 的数据加载框架,为数据 pipeline 的每个阶段提供清晰定义的 API 和多种标准实现。
数据集
数据集是图结构数据、特征数据和任务的集合。
一个抽象数据集,为访问训练所需的数据提供抽象。 |
|
一个磁盘数据集,从磁盘读取图拓扑、特征数据以及训练/验证/测试集。 |
|
一个实用类,用于从 AWS S3 下载内置数据集并将其加载为 |
|
一个 Graphbolt 数据集,用于兼容旧版 DGLDataset。 |
|
一个抽象任务,包含元信息和训练/验证/测试集。 |
图
图是节点和边的集合。它可以是同构图或异构图。
用于图采样的类。 |
|
CSC 格式的采样图。 |
特征和特征存储
特征是数据(张量、数组)的集合。特征存储是特征的集合。
用于访问特征数据的封装器。 |
|
一个用于管理多个特征以便访问的存储。 |
|
一个基本的特征存储,用于管理多个特征以便访问。 |
|
基于 PyTorch 特征的封装器。 |
|
一个用于管理多个基于 PyTorch 特征以便访问的存储。 |
|
基于磁盘特征的封装器。 |
|
CPU 缓存特征,封装一个备用特征。 |
|
GPU 缓存特征,封装一个备用特征。 |
DataLoader
DataLoader 用于迭代数据集并生成 mini-batch。
多进程 DataLoader。 |
项目集
项目集是项目的可迭代集合。
张量或张量元组的封装器。 |
|
项目集的集合,每个集合与一个唯一的类型相关联。 |
项目采样器
项目采样器用于从项目集中采样项目。
一个采样器,用于迭代输入项目并创建 mini-batch。 |
|
一个采样器,用于迭代输入项目并分布式创建子集。 |
MiniBatch
Mini-batch 是采样子图及其对应特征的集合。它是训练 GNN 模型的基本单位。
Graphbolt 中数据结构的复合数据类。 |
|
用于操作 mini-batch 的 mini-batch 转换器。 |
负采样器
负采样器用于从 mini-batch 中采样负样本项目。
一个负采样器,用于生成负样本并返回正负样本的混合。 |
|
基于均匀分布,为每个源节点采样负目标节点。 |
子图采样器
子图采样器用于从图中采样子图。
一个子图采样器,用于从给定的一组节点中,从更大的图中采样一个子图。 |
|
采样子图的抽象类。 |
|
从图中采样邻居边并返回一个子图。 |
|
从图中采样层邻居边并返回一个子图。 |
|
按时间从图中采样邻居边并返回采样的子图。 |
|
按时间从图中采样邻居边并返回采样的子图。 |
|
CSCSamplingGraph 的采样子图。 |
|
采样由给定节点的入边诱导的子图。 |
特征获取器
特征获取器用于从特征存储中获取特征。
一个特征获取器,用于在 graphbolt 中获取节点/边的特征。 |
CopyTo
此 DataPipe 用于将数据复制到设备。
将上一个 DataPipe 生成的每个元素转移到给定设备上的 DataPipe。 |
实用工具
CPU 缓存特征,封装一个备用特征。 |
|
GPU 缓存特征,封装一个备用特征。 |
|
从 CSC 表示创建 FusedCSCSamplingGraph 对象。 |
|
从共享内存加载 FusedCSCSamplingGraph 对象。 |
|
将 DGLGraph 转换为 FusedCSCSamplingGraph。 |
|
将规范 etype 从字符串转换为元组。 |
|
将规范 etype 从元组转换为字符串。 |
|
测试 elements 中的每个元素是否都在 test_elements 中。 |
|
设置 Graphbolt 的随机种子。 |
|
返回一个新的张量,该张量使用 index 中的条目沿维度 dim 对输入张量进行索引。 |
|
将给定的 indptr 偏移张量转换为 COO 格式张量。 |
|
将给定的 indptr 偏移张量转换为边 ID 的 COO 格式张量。 |
|
此函数查找给定 edges 的反向边并返回它们的组合。 |
|
从 mini-batch 中的采样子图中排除种子边(包含或不包含其反向边)。 |
|
将 csc 格式中的行(源)ID 重新标记为从 0 开始的连续范围,并按类型返回原始行节点 ID。 |
|
压缩节点张量列表。 |
|
压缩 csc 格式并返回唯一节点(按类型)。 |
|
numpy.save() 的封装器,确保数组以 4KiB 对齐方式存储。 |