class_docstr: Add gaussian noise to the input value. Mean and standard deviation
  of the noise can be controlled from the layers parameters.
  
  It's important to note that output from the layer is controled by
  the ``training`` parameter in the ``output`` method. Layer
  will be applied only in cases when ``training=True`` propagated
  through the network, otherwise it will act as an identity.
  
  Parameters
  ----------
  std : float
      Standard deviation of the gaussian noise. Values needs to
      be greater than zero. Defaults to ``1``.
  
  mean : float
      Mean of the gaussian noise. Defaults to ``0``.
  
  {Identity.name}
  
  Methods
  -------
  {Identity.Methods}
  
  Attributes
  ----------
  {Identity.Attributes}
  
  Examples
  --------
  >>> from neupy.layers import *
  >>> network = join(
  ...     Input(10),
  ...     Relu(5) >> GaussianNoise(std=0.1),
  ...     Relu(5) >> GaussianNoise(std=0.1),
  ...     Sigmoid(1),
  ... )
  >>> network
  (?, 10) -> [... 6 layers ...] -> (?, 1)
class_docstr_tok: ["Add","gaussian","noise","to","the","input","value",".","Mean","and","standard","deviation","of","the","noise","can","be","controlled","from","the","layers","parameters",".","It","'s","important","to","note","that","output","from","the","layer","is","controled","by","the","``","training","``","parameter","in","the","``","output","``","method",".","Layer","will","be","applied","only","in","cases","when","``","training=True","``","propagated","through","the","network",",","otherwise","it","will","act","as","an","identity",".","Parameters","--","--","--","--","--","std",":","float","Standard","deviation","of","the","gaussian","noise",".","Values","needs","to","be","greater","than","zero",".","Defaults","to","``","1","``",".","mean",":","float","Mean","of","the","gaussian","noise",".","Defaults","to","``","0","``",".","{","Identity.name","}","Methods","--","--","--","-","{","Identity.Methods","}","Attributes","--","--","--","--","--","{","Identity.Attributes","}","Examples","--","--","--","--",">",">",">","from","neupy.layers","import","*",">",">",">","network","=","join","(","...","Input","(","10",")",",","...","Relu","(","5",")",">",">","GaussianNoise","(","std=0.1",")",",","...","Relu","(","5",")",">",">","GaussianNoise","(","std=0.1",")",",","...","Sigmoid","(","1",")",",","...",")",">",">",">","network","(","?",",","10",")","-",">","[","...","6","layers","...","]","-",">","(","?",",","1",")"]
code: def __init__(self, mean=1, std=0, name=None):
      super(GaussianNoise, self).__init__(name=name)
      self.mean = mean
      self.std = std
  
file_path: neupy/neupy/layers/stochastic.py
imports: import tensorflow
  from neupy.utils import asfloat
  from neupy.exceptions import LayerConnectionError
  from neupy.core.properties import ProperFractionProperty, NumberProperty, TypedListProperty
  from .base import Identity
label_desc: Use image node_id 1 to create a new GaussianNoise object from inherited base classes: Identity with example: obj = GaussianNoise(mean, std, name)