class_docstr: Graph attention network for semi-supevised node classification.
code: def call(self, inputs):
      features, adj = inputs[0], inputs[1]
      for i in range(self.num_layers - 1):
          x = (features, adj)
          features = self.gat[i](x)
  
      x = (features, adj)
      outputs = self.classifier(x)
      return outputs
  
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 2 for calling the GAT obj's underlying member method code with example usage: obj.call(inputs) and returns: outputs