class_docstr: Graph Convolution Networks.
  
  Attributes:
    input_dim: Integer representing the number of input features.
    output_dim: Integer representing the number of classes.
    hidden: Integer representing the number of hidden units in the first layer
      of the network.
    dropout: Float representing the dropout probability during training.
    aggregation: String representing an aggregation operation, that is applied
      on the two inputs of the agreement model, after they are encoded through
      the convolution layers. See superclass attributes for details.
    activation: An activation function to be applied to the outputs of each
      fully connected layer of the aggregation network.
    is_binary_classification: Boolean specifying if this is model for binary
      classification. If so, it uses a different loss function and returns
      predictions with a single dimension, batch size.
    name: String representing the model name.
class_docstr_tok: ["Graph","Convolution","Networks",".","Attributes",":","input_dim",":","Integer","representing","the","number","of","input","features",".","output_dim",":","Integer","representing","the","number","of","classes",".","hidden",":","Integer","representing","the","number","of","hidden","units","in","the","first","layer","of","the","network",".","dropout",":","Float","representing","the","dropout","probability","during","training",".","aggregation",":","String","representing","an","aggregation","operation",",","that","is","applied","on","the","two","inputs","of","the","agreement","model",",","after","they","are","encoded","through","the","convolution","layers",".","See","superclass","attributes","for","details",".","activation",":","An","activation","function","to","be","applied","to","the","outputs","of","each","fully","connected","layer","of","the","aggregation","network",".","is_binary_classification",":","Boolean","specifying","if","this","is","model","for","binary","classification",".","If","so",",","it","uses","a","different","loss","function","and","returns","predictions","with","a","single","dimension",",","batch","size",".","name",":","String","representing","the","model","name","."]
code: def __init__(
      self,
      input_dim,
      output_dim,
      hidden,
      dropout=0.5,
      aggregation=None,
      hidden_aggregation=(),
      activation=tf.nn.leaky_relu,
      is_binary_classification=False,
      name="GCN",
  ):
      super(GCN, self).__init__(
          aggregation=aggregation,
          hidden_aggregation=hidden_aggregation,
          activation=activation,
      )
  
      dropout = 0.5 if dropout is None else dropout
  
      self.input_dim = input_dim
      self.output_dim = output_dim
      self.num_supports = 1
      self.hidden = hidden
      self.dropout = dropout
      self.name = name
      self.is_binary_classification = is_binary_classification
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from .models_base import glorot
  from .models_base import Model
  import tensorflow
label_desc: Use image node_id 1 to create a new GCN object from inherited base classes: Model with example: obj = GCN(input_dim, output_dim, hidden, dropout, aggregation, hidden_aggregation, activation, is_binary_classification, name)