当我们使用Numpy或者有时需要使用随机数来初始化矩阵时,randn和rand是两个比较常用的函数。 两者的用法类似。 在numpy中,函数形式为:
numpy.random.randn(d0, d1, d2, ..., dn)
numpy.random.rand(d0, d1, d2, ..., dn)
中的函数形式为:
torch.randn(d0, d1, d2, ..., dn)
torch.rand(d0, d1, d2, ..., dn)
在一些教程中,您经常看到作者在编写代码时将两者混合在一起。 事实上,它们之间存在一些差异。 具体来说,randn 从标准正态分布中返回一个或多个样本值。 正态分布,即这些随机数的期望为0,方差为1; rand 将生成 [0, 1) 之间的随机数。 关于记忆方法,我们可以将randn中的n视为正态分布中“”的缩写()。
Numpy-randn
Numpy-rand
- 兰登
-兰德
另外, 中也有类似功能的函数,根据其命名很容易推断出其功能。 用于生成正态分布的函数是:
tf.random_normal()
常用的参数有(shape,,mean,dtype);
用于生成[0,1)之间的随机数的函数是:
tf.random_uniform()
默认情况下,会生成 0 到 1 之间的随机数,但您也可以指定上限和下限。