jax.nn.initializers.truncated_normal

jax.nn.initializers.truncated_normal#

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

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

参数:
  • stddev (RealNumeric) – 可选;未截断分布的标准差。请注意,此函数不应用标准差校正,如 variancescaling 初始化器中所做的那样,用户如果希望使用它,则应通过 stddev 参数自行应用此校正。

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

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

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

返回值:

一个初始化器,返回其值服从截断正态分布的数组,均值为 0,标准差为 stddev,范围为 \(\rm{lower * stddev} < x < \rm{upper * stddev}\)

返回类型:

初始化器

>>> 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)