jax.nn.initializers.截断正态分布

jax.nn.initializers.截断正态分布#

jax.nn.initializers.truncated_normal(stddev=0.01, dtype=<class 'jax.numpy.float64'>, lower=-2.0, upper=2.0)[源代码]#

构建一个初始化器,返回截断正态分布的随机数组。

参数:
  • stddev (RealNumeric) – 可选;未截断分布的标准差。请注意,此函数不会应用在方差缩放初始化器中完成的stddev校正,如果用户希望使用此校正,则需要通过stddev参数自行应用。

  • dtype (DTypeLikeInexact) – 可选;初始化器的默认数据类型。

  • lower (RealNumeric) – 表示截断下限的浮点数。在输出乘以标准差之前应用。

  • upper (RealNumeric) – 表示截断上限的浮点数。在输出乘以标准差之前应用。

返回:

一个初始化器,返回的数组值遵循均值为 0 和标准差为 stddev 的截断正态分布,范围为 :math:` m{lower * stddev} < x < m{upper * stddev}`。

返回类型:

Initializer

>>> import jax, jax.numpy as jnp
>>> initializer = jax.nn.initializers.truncated_normal(5.0)
>>> initializer(jax.random.key(42), (2, 3), jnp.float32)  
Array([[ 2.9047365,  5.2338114,  5.29852  ],
       [-3.836303 , -4.192359 ,  0.6022964]], dtype=float32)