class dgl.dataloading.base.set_edge_lazy_features(g, feature_names)[source]


Assign lazy features to the edata of the input graph for prefetching optimization.

When used in a Sampler, lazy features mark which data should be fetched before computation in model. See guide-minibatch-prefetching for a detailed explanation.

If the graph is homogeneous, this is equivalent to:

g.edata.update({k: LazyFeature(k, g.edata[dgl.EID]) for k in feature_names})

If the graph is heterogeneous, this is equivalent to:

for type_, names in feature_names.items():
        {k: LazyFeature(k, g.edges[type_].data[dgl.EID]) for k in names})
  • g (DGLGraph) – The graph.

  • feature_names (list[str] or dict[etype, list[str]]) – The feature names to prefetch. The etype key is either a string or a triplet.

See also