class_docstr: Head of GNN, graph prediction
  
  The optional post_mp layer (specified by cfg.gnn.post_mp) is used
  to transform the pooled embedding using an MLP.
class_docstr_tok: ["Head","of","GNN",",","graph","prediction","The","optional","post_mp","layer","(","specified","by","cfg.gnn.post_mp",")","is","used","to","transform","the","pooled","embedding","using","an","MLP","."]
code: def forward(self, batch):
      graph_emb = self.pooling_fun(batch.x, batch.batch)
      graph_emb = self.layer_post_mp(graph_emb)
      batch.graph_feature = graph_emb
      pred, label = self._apply_index(batch)
      return pred, label
  
imports: import torch
  import torch.nn
  import graphgym.register
  from graphgym.config import cfg
  from graphgym.models.layer_pyg import MLP
  from graphgym.models.pooling import pooling_dict
label_desc: Use image node_id 3 for calling the GNNGraphHead obj's underlying member method code with example usage: obj.forward(batch) and returns: pred,  label