docstr: Initialize Glorot uniform, also known as the Xavier uniform
  initializer.
  
  It draws values from a uniform distribution `[-limit, limit]` where
  `limit = sqrt(6 / (fan_in + fan_out))` where `fan_in` and `fan_out` are the
  number of input and output features respectively.
docstr_tok: ["Initialize","Glorot","uniform",",","also","known","as","the","Xavier","uniform","initializer",".","It","draws","values","from","a","uniform","distribution","`","[","-limit",",","limit","]","`","where","`","limit","=","sqrt","(","6","\/","(","fan_in","+","fan_out",")",")","`","where","`","fan_in","`","and","`","fan_out","`","are","the","number","of","input","and","output","features","respectively","."]
code: def __init__(self):
      """Initialize Glorot uniform, also known as the Xavier uniform
      initializer.
  
      It draws values from a uniform distribution `[-limit, limit]` where
      `limit = sqrt(6 / (fan_in + fan_out))` where `fan_in` and `fan_out` are the
      number of input and output features respectively.
      """
      super().__init__(
          numerator=6, fan_mode="fan_sum", power=0.5, gain=1
      )
  
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 GlorotUniform object from inherited base classes: Uniform with example: obj = GlorotUniform()