jax.nn.initializers.glorot_normal#

jax.nn.initializers.glorot_normal(in_axis=-2, out_axis=-1, batch_axis=(), dtype=<class 'jax.numpy.float64'>)[source]#

Builds a Glorot normal initializer (aka Xavier normal initializer).

A Glorot normal initializer is a specialization of jax.nn.initializers.variance_scaling() where scale = 1.0, mode="fan_avg", and distribution="truncated_normal".

Parameters
  • in_axis (Union[int, Sequence[int]]) – axis or sequence of axes of the input dimension in the weights array.

  • out_axis (Union[int, Sequence[int]]) – axis or sequence of axes of the output dimension in the weights array.

  • batch_axis (Sequence[int]) – axis or sequence of axes in the weight array that should be ignored.

  • dtype (Any) – the dtype of the weights.

Return type

Initializer

Returns

An initializer.

Example:

>>> import jax, jax.numpy as jnp
>>> initializer = jax.nn.initializers.glorot_normal()
>>> initializer(jax.random.PRNGKey(42), (2, 3), jnp.float32)  
Array([[ 0.41770416,  0.75262755,  0.7619329 ],
       [-0.5516644 , -0.6028657 ,  0.08661086]], dtype=float32)