code: def forward(self, inputs):
      h = inputs
      for l in range(self.num_layers):
          h = self.gat_layers[l](self.g, h).flatten(1)
      logits = self.gat_layers[-1](self.g, h).mean(1)
      return logits
  
file_path: dgl/examples/pytorch/hardgat/hgao.py
imports: from functools import partial
  import dgl
  import dgl.function
  import torch
  import torch.nn
  import torch.nn.functional
  from dgl.base import DGLError
  from dgl.nn.pytorch import edge_softmax
  from dgl.nn.pytorch.utils import Identity
  from dgl.sampling import select_topk
label_desc: Use image node_id 2 for calling the HardGAT obj's underlying member method code with example usage: obj.forward(inputs) and returns: logits