class_docstr: Initializes array with scaled Gaussian distribution.
  
  Each element of the array is initialized by the value drawn
  independently from Gaussian distribution whose mean is 0,
  and standard deviation is
  :math:`scale \times \sqrt{\frac{2}{fan}}`.
  If ``fan_option == 'fan_in'``, :math:`fan` is the
  number of input units.
  If ``fan_option == 'fan_out'``, :math:`fan` is the
  number of output units.
  
  Reference:  He et al., https://arxiv.org/abs/1502.01852
  
  Args:
      scale (float): A constant that determines the scale
          of the standard deviation.
      dtype: Data type specifier.
      fan_option ({'fan_in', 'fan_out'}): Decides how to compute the
          standard deviation. The default value is ``'fan_in'``.
      rng (xp.random.RandomState): Pseudo-random number generator.
class_docstr_tok: ["Initializes","array","with","scaled","Gaussian","distribution",".","Each","element","of","the","array","is","initialized","by","the","value","drawn","independently","from","Gaussian","distribution","whose","mean","is","0",",","and","standard","deviation","is",":","math",":","`","scale","\\times","\\sqrt","{","\\frac","{","2","}","{","fan","}","}","`",".","If","``","fan_option","==","'fan_in","'","``",",",":","math",":","`","fan","`","is","the","number","of","input","units",".","If","``","fan_option","==","'fan_out","'","``",",",":","math",":","`","fan","`","is","the","number","of","output","units",".","Reference",":","He","et","al.",",","https",":","\/\/arxiv.org\/abs\/1502.01852","Args",":","scale","(","float",")",":","A","constant","that","determines","the","scale","of","the","standard","deviation",".","dtype",":","Data","type","specifier",".","fan_option","(","{","'fan_in","'",",","'fan_out","'","}",")",":","Decides","how","to","compute","the","standard","deviation",".","The","default","value","is","``","'fan_in","'","``",".","rng","(","xp.random.RandomState",")",":","Pseudo-random","number","generator","."]
code: def __call__(self, array):
      if self.dtype is not None:
          assert array.dtype == self.dtype, "{} != {}".format(
              array.dtype, self.dtype
          )
      fan_in, fan_out = initializer.get_fans(array.shape)
      if self.fan_option == "fan_in":
          s = self.scale * numpy.sqrt(2.0 / fan_in)
      elif self.fan_option == "fan_out":
          s = self.scale * numpy.sqrt(2.0 / fan_out)
      else:
          raise ValueError(
              "fan_option should be either 'fan_in' or 'fan_out'."
          )
      Normal(s, rng=self.rng)(array)
  
imports: import numpy
  from chainer import backend
  from chainer.backends import cuda
  from chainer import initializer
  from chainer.utils import argument
label_desc: Use image node_id 2 for calling the HeNormal obj's underlying member method code with example usage: obj.__call__(array) without return types