docstr: Initialize Kaiming normal, also known as He Initialization.
  
  It is an method for initializing layers that takes into account the
  non-linearity of activation functions. It uses a normal distribution centered
  at `mean` with standard distribution `sqrt(2 / ((1 + negative_slope^2) * fan))`.
  
  Parameters
  ----------
  mean
      Sets the expected value, average, and center of the normal distribution.
  fan_mode
      Determines how `fan` is calculated.
      - `fan_out` sets `fan` to the number of output features of this neuron.
        This is useful when training using back-propogation.
      - `fan_in` sets `fan` to the number of input features of this neuron.
        This is useful when training using forward-propogation.
      - `fan_sum` sets `fan` to the sum of the number of input features and
        output features of this neuron.
      - `fan_sum` sets `fan` to the average of the number of input features and
        output features of this neuron.
docstr_tok: ["Initialize","Kaiming","normal",",","also","known","as","He","Initialization",".","It","is","an","method","for","initializing","layers","that","takes","into","account","the","non-linearity","of","activation","functions",".","It","uses","a","normal","distribution","centered","at","`","mean","`","with","standard","distribution","`","sqrt","(","2","\/","(","(","1","+","negative_slope^2",")","*","fan",")",")","`",".","Parameters","--","--","--","--","--","mean","Sets","the","expected","value",",","average",",","and","center","of","the","normal","distribution",".","fan_mode","Determines","how","`","fan","`","is","calculated",".","-","`","fan_out","`","sets","`","fan","`","to","the","number","of","output","features","of","this","neuron",".","This","is","useful","when","training","using","back-propogation",".","-","`","fan_in","`","sets","`","fan","`","to","the","number","of","input","features","of","this","neuron",".","This","is","useful","when","training","using","forward-propogation",".","-","`","fan_sum","`","sets","`","fan","`","to","the","sum","of","the","number","of","input","features","and","output","features","of","this","neuron",".","-","`","fan_sum","`","sets","`","fan","`","to","the","average","of","the","number","of","input","features","and","output","features","of","this","neuron","."]
code: def __init__(self, mean=0, fan_mode="fan_in"):
      """Initialize Kaiming normal, also known as He Initialization.
  
      It is an method for initializing layers that takes into account the
      non-linearity of activation functions. It uses a normal distribution centered
      at `mean` with standard distribution `sqrt(2 / ((1 + negative_slope^2) * fan))`.
  
      Parameters
      ----------
      mean
          Sets the expected value, average, and center of the normal distribution.
      fan_mode
          Determines how `fan` is calculated.
          - `fan_out` sets `fan` to the number of output features of this neuron.
            This is useful when training using back-propogation.
          - `fan_in` sets `fan` to the number of input features of this neuron.
            This is useful when training using forward-propogation.
          - `fan_sum` sets `fan` to the sum of the number of input features and
            output features of this neuron.
          - `fan_sum` sets `fan` to the average of the number of input features and
            output features of this neuron.
      """
      ivy.utils.assertions.check_elem_in_list(
          fan_mode, ["fan_in", "fan_out", "fan_sum", "fan_avg"]
      )
      self._mean = mean
      self._fan_mode = fan_mode
  
imports: from typing import Tuple, Union, Optional
  import abc
  import ivy
  from ivy.functional.ivy.gradients import _variable
label_desc: Use image node_id 1 to create a new KaimingNormal object from inherited base classes: Initializer with example: obj = KaimingNormal(mean, fan_mode)