code: def __init__(
      self, g, in_feats, out_feats, activation, dropout, bias=True
  ):
      super(GCNLayer, self).__init__()
      self.g = g
  
      w_init = tf.keras.initializers.VarianceScaling(
          scale=1.0, mode="fan_out", distribution="uniform"
      )
      self.weight = tf.Variable(
          initial_value=w_init(
              shape=(in_feats, out_feats), dtype="float32"
          ),
          trainable=True,
      )
      if dropout:
          self.dropout = layers.Dropout(rate=dropout)
      else:
          self.dropout = 0.0
      if bias:
          b_init = tf.zeros_initializer()
          self.bias = tf.Variable(
              initial_value=b_init(shape=(out_feats,), dtype="float32"),
              trainable=True,
          )
      else:
          self.bias = None
      self.activation = activation
  
file_path: dgl/examples/tensorflow/gcn/gcn_builtin.py
imports: import argparse
  import math
  import time
  import dgl
  import dgl.function
  import networkx
  import numpy
  import tensorflow
  from dgl.data import CiteseerGraphDataset, CoraGraphDataset, PubmedGraphDataset, register_data_args
  from tensorflow.keras import layers
label_desc: Use image node_id 1 to create a new GCNLayer object from inherited base classes: layers with example: obj = GCNLayer(g, in_feats, out_feats, activation, dropout, bias)