LazyFeature
- class dgl.dataloading.base.LazyFeature(name=None, id_=None)[source]
基类:
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]]
对于 MFG 的
srcdata
(以及类似的dstdata
),替换操作为:mfg.srcdata[key] = graph.ndata[k][mfg.srcdata[dgl.NID]]
- 参数:
name (str) – 原始图中数据的名称。
id (Tensor, 可选) – ID 张量。