class_docstr: This model, with its default hyperparameters, implements the architecture
  from the paper:
  
  > [Semi-Supervised Classification with Graph Convolutional Networks](https://arxiv.org/abs/1609.02907)<br>
  > Thomas N. Kipf and Max Welling
  
  **Mode**: single, disjoint, mixed, batch.
  
  **Input**
  
  - Node features of shape `([batch], n_nodes, n_node_features)`
  - Weighted adjacency matrix of shape `([batch], n_nodes, n_nodes)`
  
  **Output**
  
  - Softmax predictions with shape `([batch], n_nodes, n_labels)`.
  
  **Arguments**
  
  - `n_labels`: number of channels in output;
  - `channels`: number of channels in first GCNConv layer;
  - `activation`: activation of the first GCNConv layer;
  - `output_activation`: activation of the second GCNConv layer;
  - `use_bias`: whether to add a learnable bias to the two GCNConv layers;
  - `dropout_rate`: `rate` used in `Dropout` layers;
  - `l2_reg`: l2 regularization strength;
  - `**kwargs`: passed to `Model.__init__`.
code: def __init__(
      self,
      n_labels,
      channels=16,
      activation="relu",
      output_activation="softmax",
      use_bias=False,
      dropout_rate=0.5,
      l2_reg=2.5e-4,
      **kwargs,
  ):
      super().__init__(**kwargs)
  
      self.n_labels = n_labels
      self.channels = channels
      self.activation = activation
      self.output_activation = output_activation
      self.use_bias = use_bias
      self.dropout_rate = dropout_rate
      self.l2_reg = l2_reg
      reg = tf.keras.regularizers.l2(l2_reg)
      self._d0 = tf.keras.layers.Dropout(dropout_rate)
      self._gcn0 = gcn_conv.GCNConv(
          channels,
          activation=activation,
          kernel_regularizer=reg,
          use_bias=use_bias,
      )
      self._d1 = tf.keras.layers.Dropout(dropout_rate)
      self._gcn1 = gcn_conv.GCNConv(
          n_labels, activation=output_activation, use_bias=use_bias
      )
  
imports: import tensorflow
  from spektral.layers.convolutional import gcn_conv
label_desc: Use image node_id 1 to create a new GCN object from inherited base classes: tf.keras with example: obj = GCN(n_labels, channels, activation, output_activation, use_bias, dropout_rate, l2_reg)