AsGraphPredDataset

dgl.data.AsGraphPredDataset(dataset, split_ratio=None, **kwargs)[源码]

基类: DGLDataset

为标准的图属性预测任务重塑数据集。

创建的数据集将包含图属性预测所需的数据。目前仅支持同构图。

此类将给定的数据集转换为新的数据集对象,以便于

  • 它存储 len(dataset) 个图。

  • 可以通过 dataset[i] 访问第 i 个图及其标签。

如果提供了 split_ratio,该类将生成训练/验证/测试集划分。生成的划分将被缓存到磁盘以便快速重新加载。如果提供的划分比例与缓存的不同,它将重新处理数据集。

参数:
  • dataset (DGLDataset) – 要转换的数据集。

  • split_ratio ((float, float, float), optional) – 训练集、验证集和测试集的划分比例。它们必须相加为一。

num_tasks

要预测的任务数量。

类型:

int

num_classes

每个任务要预测的类别数,对于回归数据集为 None。

类型:

int

train_idx

一个包含训练图 ID 的一维整数张量。

类型:

Tensor

val_idx

一个包含验证图 ID 的一维整数张量。

类型:

Tensor

test_idx

一个包含测试图 ID 的一维整数张量。

类型:

Tensor

node_feat_size

输入节点特征大小,如果不适用则为 None。

类型:

int

edge_feat_size

输入边特征大小,如果不适用则为 None。

类型:

int

示例

>>> from dgl.data import AsGraphPredDataset
>>> from ogb.graphproppred import DglGraphPropPredDataset
>>> dataset = DglGraphPropPredDataset(name='ogbg-molhiv')
>>> new_dataset = AsGraphPredDataset(dataset)
>>> print(new_dataset)
Dataset("ogbg-molhiv-as-graphpred", num_graphs=41127, save_path=...)
>>> print(len(new_dataset))
41127
>>> print(new_dataset[0])
(Graph(num_nodes=19, num_edges=40,
       ndata_schemes={'feat': Scheme(shape=(9,), dtype=torch.int64)}
       edata_schemes={'feat': Scheme(shape=(3,), dtype=torch.int64)}), tensor([0]))
__getitem__(idx)[源码]

获取索引处的数据对象。

__len__()[源码]

数据集中的样本数量。