code: def __init__(self, dim_in, dim_out, num_layers=2, model_type="GCN"):
      super().__init__()
      conv_model = self.build_conv_model(model_type)
      self.convs = nn.ModuleList()
      self.convs.append(conv_model(dim_in, dim_in))
  
      for _ in range(num_layers - 1):
          self.convs.append(conv_model(dim_in, dim_in))
  
      GNNHead = register.head_dict[cfg.dataset.task]
      self.post_mp = GNNHead(dim_in=dim_in, dim_out=dim_out)
  
file_path: pytorch_geometric/graphgym/custom_graphgym/network/example.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  import torch_geometric.graphgym.models.head
  import torch_geometric.graphgym.register
  import torch_geometric.nn
  from torch_geometric.graphgym.config import cfg
  from torch_geometric.graphgym.register import register_network
label_desc: Use image node_id 1 to create a new ExampleGNN object from inherited base classes: torch.nn with example: obj = ExampleGNN(dim_in, dim_out, num_layers, model_type)