class_docstr: Head of GNN, edge prediction
class_docstr_tok: ["Head","of","GNN",",","edge","prediction"]
code: def forward(self, batch):
      if cfg.model.edge_decoding != "concat":
          batch = self.layer_post_mp(batch)
      pred, label = self._apply_index(batch)
      nodes_first = pred[0]
      nodes_second = pred[1]
      pred = self.decode_module(nodes_first, nodes_second)
      return pred, label
  
imports: import torch
  import torch.nn
  import graphgym.register
  from graphgym.config import cfg
  from graphgym.models.layer import MLP
  from graphgym.models.pooling import pooling_dict
label_desc: Use image node_id 3 for calling the GNNEdgeHead obj's underlying member method code with example usage: obj.forward(batch) and returns: pred,  label