class_docstr: The Glorot normal initializer, also called Xavier normal initializer.
  
  Draws samples from a truncated normal distribution centered on 0 with
  `stddev = sqrt(2 / (fan_in + fan_out))` where `fan_in` is the number of
  input units in the weight tensor and `fan_out` is the number of output units
  in the weight tensor.
  
  Examples:
  
  >>> # Standalone usage:
  >>> initializer = GlorotNormal()
  >>> values = initializer(shape=(2, 2))
  
  >>> # Usage in a Keras layer:
  >>> initializer = GlorotNormal()
  >>> layer = Dense(3, kernel_initializer=initializer)
  
  Args:
      seed: A Python integer or instance of
          `keras.backend.SeedGenerator`.
          Used to make the behavior of the initializer
          deterministic. Note that an initializer seeded with an integer
          or `None` (unseeded) will produce the same random values
          across multiple calls. To get different random values
          across multiple calls, use as seed an instance
          of `keras.backend.SeedGenerator`.
  
  Reference:
  
  - [Glorot et al., 2010](http://proceedings.mlr.press/v9/glorot10a.html)
class_docstr_tok: ["The","Glorot","normal","initializer",",","also","called","Xavier","normal","initializer",".","Draws","samples","from","a","truncated","normal","distribution","centered","on","0","with","`","stddev","=","sqrt","(","2","\/","(","fan_in","+","fan_out",")",")","`","where","`","fan_in","`","is","the","number","of","input","units","in","the","weight","tensor","and","`","fan_out","`","is","the","number","of","output","units","in","the","weight","tensor",".","Examples",":",">",">",">","#","Standalone","usage",":",">",">",">","initializer","=","GlorotNormal","(",")",">",">",">","values","=","initializer","(","shape=","(","2",",","2",")",")",">",">",">","#","Usage","in","a","Keras","layer",":",">",">",">","initializer","=","GlorotNormal","(",")",">",">",">","layer","=","Dense","(","3",",","kernel_initializer=initializer",")","Args",":","seed",":","A","Python","integer","or","instance","of","`","keras.backend.SeedGenerator","`",".","Used","to","make","the","behavior","of","the","initializer","deterministic",".","Note","that","an","initializer","seeded","with","an","integer","or","`","None","`","(","unseeded",")","will","produce","the","same","random","values","across","multiple","calls",".","To","get","different","random","values","across","multiple","calls",",","use","as","seed","an","instance","of","`","keras.backend.SeedGenerator","`",".","Reference",":","-","[","Glorot","et","al.",",","2010","]","(","http",":","\/\/proceedings.mlr.press\/v9\/glorot10a.html",")"]
code: def get_config(self):
      return {
          "seed": serialization_lib.serialize_keras_object(
              self._init_seed
          )
      }
  
imports: import math
  from keras import ops
  from keras.api_export import keras_export
  from keras.backend import random
  from keras.initializers.initializer import Initializer
  from keras.saving import serialization_lib
label_desc: Use image node_id 2 for calling the GlorotNormal obj's underlying member method code with example usage: obj.get_config() and returns: dict