code: def forward(self, g, e_feat, u_feat, v_feat):
      with g.local_scope():
          g.edges["forward"].data["h"] = e_feat
          g.nodes["u"].data["h"] = u_feat
          g.nodes["v"].data["h"] = v_feat
          g.apply_edges(self.apply_edges, etype="forward")
          return g.edges["forward"].data["score"]
  
file_path: dgl/examples/pytorch/gas/model.py
imports: import dgl.function
  import torch
  import torch.nn
  from dgl.nn.functional import edge_softmax
label_desc: Use image node_id 3 for calling the MLP obj's underlying member method code with example usage: obj.forward(g, e_feat, u_feat, v_feat) and returns: g