class_docstr: Graph convolutional block.
docstr: Initializes a GCN block.
  
  Args:
    hidden_dim: (int) Dimension of hidden layer.
    dropout_rate: (float) Dropout probability
    sparse: (bool) Whether features are sparse
    bias: (bool) Whether bias needs to be added to gcn layers
    **kwargs: Keyword arguments for tf.keras.layers.Layer.
docstr_tok: ["Initializes","a","GCN","block",".","Args",":","hidden_dim",":","(","int",")","Dimension","of","hidden","layer",".","dropout_rate",":","(","float",")","Dropout","probability","sparse",":","(","bool",")","Whether","features","are","sparse","bias",":","(","bool",")","Whether","bias","needs","to","be","added","to","gcn","layers","*","*","kwargs",":","Keyword","arguments","for","tf.keras.layers.Layer","."]
code: def __init__(self, hidden_dim, dropout_rate, sparse, bias, **kwargs):
      """Initializes a GCN block.
  
      Args:
        hidden_dim: (int) Dimension of hidden layer.
        dropout_rate: (float) Dropout probability
        sparse: (bool) Whether features are sparse
        bias: (bool) Whether bias needs to be added to gcn layers
        **kwargs: Keyword arguments for tf.keras.layers.Layer.
      """
      super(GCNBlock, self).__init__(**kwargs)
      self.hidden_dim = hidden_dim
      self.dropout_rate = dropout_rate
      self.sparse = sparse
      self.bias = bias
  
      self._activation = tf.keras.layers.ReLU()
      self._dropout = tf.keras.layers.Dropout(self.dropout_rate)
  
      self._graph_conv_layer = GraphConvLayer(
          self.hidden_dim, sparse=self.sparse, bias=self.bias
      )
  
imports: from layers import GraphAttnLayer
  from layers import GraphConvLayer
  from layers import GraphIsomorphismLayer
  from layers import SparseGraphAttnLayer
  import tensorflow
label_desc: Use image node_id 1 to create a new GCNBlock object from inherited base classes: tf.keras.layers with example: obj = GCNBlock(hidden_dim, dropout_rate, sparse, bias)