Return a view of the source node features for the edges in the batch.
Examples
The following example uses PyTorch backend.
>>> importdgl>>> importtorch
>>> # Instantiate a graph and set a node feature 'h'>>> g=dgl.graph((torch.tensor([0,1,1]),torch.tensor([1,1,0])))>>> g.ndata['h']=torch.ones(2,1)
>>> # Define a UDF that retrieves the source node features for edges>>> defedge_udf(edges):>>> # edges.src['h'] is a tensor of shape (E, 1),>>> # where E is the number of edges in the batch.>>> return{'src':edges.src['h']}
>>> # Copy features from source nodes to edges>>> g.apply_edges(edge_udf)>>> g.edata['src']tensor([[1.], [1.], [1.]])
>>> # Use edge UDF in message passing, which is equivalent to dgl.function.copy_u>>> importdgl.functionasfn>>> g.update_all(edge_udf,fn.sum('src','h'))>>> g.ndata['h']tensor([[1.], [2.]])