maxframe.tensor.random.randn#

maxframe.tensor.random.randn(*dn, **kw)[源代码]#

从“标准正态”分布返回一个(或多个)样本。

如果提供了正数、int_like 或可转换为 int 的参数,randn 会生成一个形状为 (d0, d1, ..., dn) 的数组,其中填充了从均值为 0、方差为 1 的单变量“正态”(高斯)分布中抽取的随机浮点数(如果 \(d_i\) 中有任何一个是浮点数,则首先通过截断将其转换为整数)。如果没有提供参数,则返回一个从该分布中随机抽取的浮点数。

这是一个便捷函数。如果您希望使用以元组作为第一个参数的接口,请改用 numpy.random.standard_normal

参数:
  • d0 (int, optional) -- 返回张量的维度,应均为正数。如果没有提供参数,则返回一个 Python 浮点数。

  • d1 (int, optional) -- 返回张量的维度,应均为正数。如果没有提供参数,则返回一个 Python 浮点数。

  • ... (int, optional) -- 返回张量的维度,应均为正数。如果没有提供参数,则返回一个 Python 浮点数。

  • dn (int, optional) -- 返回张量的维度,应均为正数。如果没有提供参数,则返回一个 Python 浮点数。

返回:

Z —— 来自标准正态分布的 (d0, d1, ..., dn) 形状的浮点数样本数组,如果未提供参数则为单个这样的浮点数。

返回类型:

Tensor or float

参见

random.standard_normal

类似,但以元组作为参数。

备注

要从 \(N(\mu, \sigma^2)\) 中获取随机样本,请使用:

sigma * mt.random.randn(...) + mu

示例

>>> import maxframe.tensor as mt
>>> mt.random.randn().execute()
2.1923875335537315 #random

来自 N(3, 6.25) 的 2x4 张量样本:

>>> (2.5 * mt.random.randn(2, 4) + 3).execute()
array([[-4.49401501,  4.00950034, -1.81814867,  7.29718677],  #random
       [ 0.39924804,  4.68456316,  4.99394529,  4.84057254]]) #random