LazyFeature
- class dgl.dataloading.base.LazyFeature(name=None, id_=None)[source]
Bases:
object
特征预取的占位符。
可以将此对象分配给各种采样器的
sample
方法返回的图的ndata
或edata
。当DGL的数据加载器接收到采样器返回的子图时,它将自动查找所有数据为LazyFeature的ndata
和edata
,并用原始图中相应节点/边的实际数据替换它们。特别是,对于采样器返回的子图,如果subgraph.ndata[key]
中有一个名为k
的LazyFeature:subgraph.ndata[key] = LazyFeature(k)
假设
graph
是原始图,DGL 的数据加载器将执行subgraph.ndata[key] = graph.ndata[k][subgraph.ndata[dgl.NID]]
DGL数据加载器对
edata
执行类似的替换。 对于异构图,替换为:subgraph.nodes[ntype].data[key] = graph.nodes[ntype].data[k][ subgraph.nodes[ntype].data[dgl.NID]]
对于MFGs的
srcdata
(以及类似的dstdata
),替换为mfg.srcdata[key] = graph.ndata[k][mfg.srcdata[dgl.NID]]
- Parameters:
name (str) – 原始图中数据的名称。
id (Tensor, optional) – ID张量。