code: def __init__(
      self,
      g,
      in_feats,
      n_classes,
      n_hidden,
      n_layers,
      activation,
      dropout,
  ):
      super(GCN, self).__init__()
      self.g = g
      self.layers = nn.ModuleList()
      # input layer
      self.layers.append(
          GraphConv(in_feats, n_hidden, activation=activation)
      )
      # hidden layers
      for i in range(n_layers - 1):
          self.layers.append(
              GraphConv(n_hidden, n_hidden, activation=activation)
          )
      # output layer
      self.layers.append(GraphConv(n_hidden, n_classes))
      self.dropout = nn.Dropout(p=dropout)
  
imports: import torch
  import torch.nn
  from dgl.nn.pytorch import AGNNConv, APPNPConv, ChebConv, GATConv, GINConv, GraphConv, SAGEConv, SGConv, TAGConv
label_desc: Use image node_id 1 to create a new GCN object from inherited base classes: nn with example: obj = GCN(g, in_feats, n_classes, n_hidden, n_layers, activation, dropout)