class_docstr: Apply multiplicative 1-centered Gaussian noise.
  
  As it is a regularization layer, it is only active at training time.
  
  Args:
      rate: Float, drop probability (as with `Dropout`).
          The multiplicative noise will have
          standard deviation `sqrt(rate / (1 - rate))`.
      seed: Integer, optional random seed to enable deterministic behavior.
  
  Call arguments:
      inputs: Input tensor (of any rank).
      training: Python boolean indicating whether the layer should behave in
          training mode (adding dropout) or in inference mode (doing nothing).
code: def __init__(self, rate, seed=None, **kwargs):
      super().__init__(**kwargs)
      if not 0 <= rate <= 1:
          raise ValueError(
              f"Invalid value received for argument "
              "`rate`. Expected a float value between 0 and 1. "
              f"Received: rate={rate}"
          )
      self.rate = rate
      self.seed = seed
      self.seed_generator = backend.random.SeedGenerator(seed)
      self.supports_masking = True
  
file_path: keras/keras/layers/regularization/gaussian_dropout.py
imports: import math
  from keras import backend
  from keras import layers
  from keras import ops
  from keras.api_export import keras_export
label_desc: Use image node_id 1 to create a new GaussianDropout object from inherited base classes: layers with example: obj = GaussianDropout(rate, seed)