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的
srcnodes和srcdata。prefetch_labels (list[str] or dict[str, list[str]], optional) –
为最后一个MFG预取的节点数据。
DGL将用原始图中给定名称的节点数据填充最后一层MFG的
dstnodes和dstdata。prefetch_edge_feats (list[str] or dict[etype, list[str]], optional) –
为所有MFGs预取的边数据名称。
DGL将使用原始图中给定名称的边数据填充每个MFG的
edges和edata。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])从给定的种子节点生成一个区块列表。