dgl.dataloading.BlockSampler

class dgl.dataloading.BlockSampler(prefetch_node_feats=None, prefetch_labels=None, prefetch_edge_feats=None, output_device=None)[source]

用于以消息传递流图(MFGs)形式采样小批量的基类。

它提供了预取选项,用于获取第一个MFG的srcdata的节点特征, 最后一个MFG的dstdata的节点标签以及所有MFG的edata的边特征。

Parameters:
  • prefetch_node_feats (list[str] or dict[str, list[str]], optional) –

    为第一个MFG预取的节点数据。

    DGL将使用原始图中给定名称的节点数据填充第一层MFG的srcnodessrcdata

  • prefetch_labels (list[str] or dict[str, list[str]], optional) –

    为最后一个MFG预取的节点数据。

    DGL将用原始图中给定名称的节点数据填充最后一层MFG的dstnodesdstdata

  • prefetch_edge_feats (list[str] or dict[etype, list[str]], optional) –

    为所有MFGs预取的边数据名称。

    DGL将使用原始图中给定名称的边数据填充每个MFG的edgesedata

  • output_device (device, optional) – 输出子图或MFGs的设备。默认与种子节点的小批量相同。

__init__(prefetch_node_feats=None, prefetch_labels=None, prefetch_edge_feats=None, output_device=None)[source]

方法

__init__([prefetch_node_feats, ...])

assign_lazy_features(result)

为预取分配延迟特性。

sample(g, seed_nodes[, exclude_eids])

从给定的种子节点中采样一个区块列表。

sample_blocks(g, seed_nodes[, exclude_eids])

从给定的种子节点生成一个区块列表。