AsGraphPred数据集

class dgl.data.AsGraphPredDataset(dataset, split_ratio=None, **kwargs)[source]

Bases: DGLDataset

将数据集重新用于标准的图属性预测任务。

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

该类将给定的数据集转换为一个新的数据集对象,使得:

  • 它存储了len(dataset)个图。

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

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

Parameters:
  • dataset (DGLDataset) – The dataset to be converted.

  • split_ratio ((float, float, float), optional) – Split ratios for training, validation and test sets. They must sum to one.

num_tasks

预测的任务数量。

Type:

int

num_classes

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

Type:

int

train_idx

一个一维整数张量,包含训练节点的ID。

Type:

张量

val_idx

一个一维整数张量,包含验证节点的ID。

Type:

张量

test_idx

一个一维整数张量的测试节点ID。

Type:

张量

node_feat_size

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

Type:

int

edge_feat_size

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

Type:

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)[source]

获取索引处的数据对象。

__len__()[source]

数据集中的示例数量。