class_docstr: Randomly drop units in the input at a given rate.
  
  See: http://www.cs.toronto.edu/~hinton/absps/dropout.pdf
  
  Dropout was originally described by Hinton et al. TensorFlow deviates slightly
  from this paper by scaling activations at training time rather than test time.
docstr: Constructs a Dropout module.
  
  Args:
    rate: Probability that each element of x is discarded. Must be a scalar in
      the range `[0, 1)`.
    noise_shape: (Optional) Shape vector controlling the shape of the random
      noise used to apply dropout. If not set this will be the shape of the
      input. If set it should be broadcastable to the input shape.
    seed: (Optional) Random seed to be passed to TensorFlow ops when
      generating dropout tensor.
    name: (Optional) Name for this module.
docstr_tok: ["Constructs","a","Dropout","module",".","Args",":","rate",":","Probability","that","each","element","of","x","is","discarded",".","Must","be","a","scalar","in","the","range","`","[","0",",","1",")","`",".","noise_shape",":","(","Optional",")","Shape","vector","controlling","the","shape","of","the","random","noise","used","to","apply","dropout",".","If","not","set","this","will","be","the","shape","of","the","input",".","If","set","it","should","be","broadcastable","to","the","input","shape",".","seed",":","(","Optional",")","Random","seed","to","be","passed","to","TensorFlow","ops","when","generating","dropout","tensor",".","name",":","(","Optional",")","Name","for","this","module","."]
code: def __init__(
      self,
      rate: types.FloatLike,
      noise_shape: Optional[types.ShapeLike] = None,
      seed: Optional[int] = None,
      name: Optional[str] = None,
  ):
      """Constructs a Dropout module.
  
      Args:
        rate: Probability that each element of x is discarded. Must be a scalar in
          the range `[0, 1)`.
        noise_shape: (Optional) Shape vector controlling the shape of the random
          noise used to apply dropout. If not set this will be the shape of the
          input. If set it should be broadcastable to the input shape.
        seed: (Optional) Random seed to be passed to TensorFlow ops when
          generating dropout tensor.
        name: (Optional) Name for this module.
      """
      super().__init__(name=name)
      self._rate = rate
      self._noise_shape = noise_shape
      self._seed = seed
  
file_path: sonnet/sonnet/src/dropout.py
imports: from typing import Optional
  from sonnet.src import base
  from sonnet.src import types
  from sonnet.src import utils
  import tensorflow
label_desc: Use image node_id 1 to create a new Dropout object from inherited base classes: base with example: obj = Dropout(rate, noise_shape, seed, name)