Placeholder for feature prefetching.
One can assign this object to
edataof the graphs returned by various samplers’
samplemethod. When DGL’s dataloader receives the subgraphs returned by the sampler, it will automatically look up all the
edatawhose data is a LazyFeature, replacing them with the actual data of the corresponding nodes/edges from the original graph instead. In particular, for a subgraph returned by the sampler has a LazyFeature with name
subgraph.ndata[key] = LazyFeature(k)
graphis the original graph, DGL’s dataloader will perform
subgraph.ndata[key] = graph.ndata[k][subgraph.ndata[dgl.NID]]
DGL dataloader performs similar replacement for
edata. For heterogeneous graphs, the replacement is:
subgraph.nodes[ntype].data[key] = graph.nodes[ntype].data[k][ subgraph.nodes[ntype].data[dgl.NID]]
dstdata), the replacement is
mfg.srcdata[key] = graph.ndata[k][mfg.srcdata[dgl.NID]]
name (str) – The name of the data in the original graph.
id (Tensor, optional) – The ID tensor.