CSVDataset

class dgl.data.CSVDataset(data_path, force_reload=False, verbose=True, ndata_parser=None, edata_parser=None, gdata_parser=None, transform=None)[source]

基类: DGLDataset

从 CSV 文件加载和解析图数据集的类。

此类需要以下额外包

  • pyyaml >= 5.4.1

  • pandas >= 1.1.5

  • pydantic >= 1.9.0

解析后的图数据和特征数据将被缓存以加快重新加载速度。如果源 CSV 文件被修改,请指定 force_reload=True 从中重新解析。

参数:
  • data_path (str) – 包含 ‘meta.yaml’ 和 CSV 文件的目录

  • force_reload (bool, 可选) – 是否重新加载数据集。默认值: False

  • verbose (bool, 可选) – 是否打印进度信息。默认值: True。

  • ndata_parser (dict[str, callable] 或 callable, 可选) – 可调用对象,接受从 CSV 文件创建的 pandas.DataFrame 对象,解析节点数据并返回一个包含解析数据的字典。如果给定字典,键为节点类型,值为用于解析对应节点类型数据的可调用对象。如果给定单个可调用对象,则该对象用于解析所有节点类型数据。默认值: None。如果为 None,将应用一个默认数据解析器,它直接加载数据并尝试将列表转换为数组。

  • edata_parser (dict[(str, str, str), callable], 或 callable, 可选) – 可调用对象,接受从 CSV 文件创建的 pandas.DataFrame 对象,解析边数据并返回一个包含解析数据的字典。如果给定字典,键为边类型,值为用于解析对应边类型数据的可调用对象。如果给定单个可调用对象,则该对象用于解析所有边类型数据。默认值: None。如果为 None,将应用一个默认数据解析器,它直接加载数据并尝试将列表转换为数组。

  • gdata_parser (callable, 可选) – 可调用对象,接受从 CSV 文件创建的 pandas.DataFrame 对象,解析图数据并返回一个包含解析数据的字典。默认值: None。如果为 None,将应用一个默认数据解析器,它直接加载数据并尝试将列表转换为数组。

  • transform (callable, 可选) – 一个转换函数,接受一个 DGLGraph 对象并返回一个转换后的版本。DGLGraph 对象在每次访问前都会被转换。

graphs

数据集中的图

类型:

dgl.DGLGraph

data

任何可用的图级别数据,如图级别特征、标签等。

类型:

dict

示例

请参考 4.6 从 CSV 文件加载数据

__getitem__(i)[source]

获取指定索引的数据对象。

__len__()[source]

数据集中的样本数量。