class_docstr: Apply a self-attention layer and a semantic composite fuse gate
  to compute the encoding result of one tensor.
  
  :param initial_keep_rate: the initial_keep_rate parameter of
      DecayingDropoutLayer.
  :param decay_interval: the decay_interval parameter of
      DecayingDropoutLayer.
  :param decay_rate: the decay_rate parameter of DecayingDropoutLayer.
  :param kwargs: standard layer keyword arguments.
  
  Example:
      >>> import matchzoo as mz
      >>> layer = mz.contrib.layers.EncodingLayer(1.0, 10000, 0.977)
      >>> num_batch, left_len, num_dim = 5, 32, 10
      >>> layer.build([num_batch, left_len, num_dim])
docstr: Build the layer.
  
  :param input_shape: the shape of the input tensor,
      for EncodingLayer we need one input tensor.
code: def build(self, input_shape):
      """
      Build the layer.
  
      :param input_shape: the shape of the input tensor,
          for EncodingLayer we need one input tensor.
      """
      d = input_shape[-1]
  
      self._w_itr_att = self.add_weight(
          name="w_itr_att", shape=(3 * d,), initializer="glorot_uniform"
      )
      self._w1 = self.add_weight(
          name="w1",
          shape=(
              2 * d,
              d,
          ),
          initializer="glorot_uniform",
      )
      self._w2 = self.add_weight(
          name="w2",
          shape=(
              2 * d,
              d,
          ),
          initializer="glorot_uniform",
      )
      self._w3 = self.add_weight(
          name="w3",
          shape=(
              2 * d,
              d,
          ),
          initializer="glorot_uniform",
      )
      self._b1 = self.add_weight(
          name="b1", shape=(d,), initializer="zeros"
      )
      self._b2 = self.add_weight(
          name="b2", shape=(d,), initializer="zeros"
      )
      self._b3 = self.add_weight(
          name="b3", shape=(d,), initializer="zeros"
      )
  
      super(EncodingLayer, self).build(input_shape)
  
file_path: MatchZoo/matchzoo/contrib/layers/semantic_composite_layer.py
imports: import tensorflow
  from keras import backend
  from keras.engine import Layer
  from matchzoo.contrib.layers import DecayingDropoutLayer
label_desc: Use image node_id 2 for calling the EncodingLayer obj's underlying member method code with example usage: obj.build(input_shape) without return types