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","."]
docstr: Create weight variables.
docstr_tok: ["Create","weight","variables","."]
code: def _construct_encoding(
      self, inputs, is_train, support, num_features_nonzero
  ):
      """Create weight variables."""
      dropout = tf.constant(self.dropout, tf.float32) * tf.cast(
          is_train, tf.float32
      )
  
      layer_1 = GraphConvolution(
          input_dim=self.input_dim,
          output_dim=self.hidden,
          activation=tf.nn.relu,
          dropout=dropout,
          sparse_inputs=True,
          num_features_nonzero=num_features_nonzero,
          support=support,
          name="GraphConvolution1",
      )
      encoding = layer_1(inputs)
      reg_params = layer_1.vars
  
      return encoding, reg_params
  
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 3 for calling the GCN obj's underlying member method code with example usage: obj._construct_encoding(inputs, is_train, support, num_features_nonzero) and returns: encoding,  reg_params