code: def test_forward(self):
      num_local_graphs = 32
      num_max_graph_nodes = 16
      input_feat_len = 512
      k = 8
      gcn = GCN(input_feat_len)
      node_feat = torch.randn(
          (num_local_graphs, num_max_graph_nodes, input_feat_len)
      )
      adjacent_matrix = torch.rand(
          (num_local_graphs, num_max_graph_nodes, num_max_graph_nodes)
      )
      knn_inds = torch.randint(
          1, num_max_graph_nodes, (num_local_graphs, k)
      )
      output = gcn(node_feat, adjacent_matrix, knn_inds)
      self.assertEqual(output.size(), (num_local_graphs * k, 2))
  
imports: from unittest import TestCase, mock
  import numpy
  import torch
  from mmocr.models.textdet.heads.drrg_head import GCN, DRRGHead, LocalGraphs, ProposalLocalGraphs, feature_embedding, normalize_adjacent_matrix
label_desc: Use image node_id 1 for calling the TestGCN obj's underlying member method code with example usage: obj.test_forward() without return types