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])从给定的种子节点生成一个区块列表。