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])
code: def _get_noise_shape(self, inputs):
      if self._noise_shape is None:
          return self._noise_shape
  
      symbolic_shape = tf.shape(inputs)
      noise_shape = [
          symbolic_shape[axis] if shape is None else shape
          for axis, shape in enumerate(self._noise_shape)
      ]
      return tuple(noise_shape)
  
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 2 for calling the DecayingDropoutLayer obj's underlying member method code with example usage: obj._get_noise_shape(inputs) and returns: tuple, self