class_docstr: Layer that processes dropout with exponential decayed keep rate during
  training.
  
  :param initial_keep_rate: the initial keep rate of decaying dropout.
  :param decay_interval: the decay interval of decaying dropout.
  :param decay_rate: the decay rate of decaying dropout.
  :param noise_shape: a 1D integer tensor representing the shape of the
      binary dropout mask that will be multiplied with the input.
  :param seed: a python integer to use as random seed.
  :param kwargs: standard layer keyword arguments.
  
  Examples:
      >>> import matchzoo as mz
      >>> layer = mz.contrib.layers.DecayingDropoutLayer(
      ...     initial_keep_rate=1.0,
      ...     decay_interval=10000,
      ...     decay_rate=0.977,
      ... )
      >>> num_batch, num_dim =5, 10
      >>> layer.build([num_batch, num_dim])
docstr: The computation logic of DecayingDropoutLayer.
  
  :param inputs: an input tensor.
docstr_tok: ["The","computation","logic","of","DecayingDropoutLayer",".",":","param","inputs",":","an","input","tensor","."]
code: def call(self, inputs, training=None):
      """
      The computation logic of DecayingDropoutLayer.
  
      :param inputs: an input tensor.
      """
      noise_shape = self._get_noise_shape(inputs)
      t = tf.cast(self._iterations, K.floatx()) + 1
      p = t / float(self._decay_interval)
  
      keep_rate = self._initial_keep_rate * tf.pow(self._decay_rate, p)
  
      def dropped_inputs():
          update_op = self._iterations.assign_add([1])
          with tf.control_dependencies([update_op]):
              return tf.nn.dropout(
                  inputs, 1 - keep_rate[0], noise_shape, seed=self._seed
              )
  
      return K.in_train_phase(dropped_inputs, inputs, training=training)
  
file_path: MatchZoo/matchzoo/contrib/layers/decaying_dropout_layer.py
imports: import tensorflow
  from keras import backend
  from keras.engine import Layer
label_desc: Use image node_id 4 for calling the DecayingDropoutLayer obj's underlying member method code with example usage: obj.call(inputs, training) and returns: K, tf