code: def forward_block(self, blocks, node_feat, edge_feat=None):
      h = node_feat
      for l in range(self.num_layers - 1):
          h = self.gat_layers[l](blocks[l], h).flatten(1)
      logits = self.gat_layers[-1](blocks[-1], h).mean(1)
      return logits
  
file_path: dgl/dglgo/dglgo/model/node_encoder/gat.py
imports: from typing import List
  import torch
  import torch.nn
  import torch.nn.functional
  from dgl.base import dgl_warning
  from dgl.nn import GATConv
label_desc: Use image node_id 3 for calling the GAT obj's underlying member method code with example usage: obj.forward_block(blocks, node_feat, edge_feat) and returns: logits