torch.normal

torch.normal(mean, std, *, generator=None, out=None)) Tensor

返回一个包含随机数的张量,这些随机数是从具有给定均值和标准差的不同正态分布中抽取的。

mean 是一个张量,包含了每个输出元素的正态分布的均值。

std 是一个张量,包含了每个输出元素的正态分布的标准差。

尽管 meanstd 的形状不必一致,但是它们的总元素数量必须相等。

注意

当形状不匹配时,返回的输出张量将采用 mean 的形状。

注意

std 是一个 CUDA 张量时,该函数会将其设备同步到 CPU。

参数
  • mean (Tensor) – 包含每个元素平均值的张量

  • std (Tensor) – 表示每个元素标准差的张量

关键字参数
  • generator (torch.Generator, 可选) – 用于样本采集的伪随机数生成器

  • out (Tensor, 可选) – 指定输出张量。

示例:

>>> torch.normal(mean=torch.arange(1., 11.), std=torch.arange(1, 0, -0.1))
tensor([  1.0425,   3.5672,   2.7969,   4.2925,   4.7229,   6.2134,
          8.0505,   8.1408,   9.0563,  10.0566])
torch.normal(mean=0.0, std, *, out=None) Tensor

与上述函数类似,但是均值是所有绘制元素共用的。

参数
  • mean (float, 可选) – 各个分布的平均值

  • std (Tensor) – 表示每个元素标准差的张量

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> torch.normal(mean=0.5, std=torch.arange(1., 6.))
tensor([-1.2793, -1.0732, -2.0687,  5.1177, -1.2303])
torch.normal(mean, std=1.0, *, out=None) Tensor

与上述函数类似,但标准偏差被所有绘制的元素共享。

参数
  • mean (Tensor) – 包含每个元素平均值的张量

  • std (float, 可选) – 各个分布的标准偏差

关键字参数

out (Tensor, 可选) – 指定输出张量

示例:

>>> torch.normal(mean=torch.arange(1., 6.))
tensor([ 1.1552,  2.6148,  2.6535,  5.8318,  4.2361])
torch.normal(mean, std, size, *, out=None) Tensor

类似于上面的函数,但是均值和标准差被所有元素共享。生成的张量大小由size指定。

参数
  • mean (float) – 所有分布的平均值

  • std (float) - 所有分布的标准偏差

  • size (int...) – 一个由定义输出张量形状的整数组成的序列。

关键字参数

out (Tensor, 可选) – 指定输出张量。

示例:

>>> torch.normal(2, 3, size=(1, 4))
tensor([[-1.3987, -1.9544,  3.6048,  0.7909]])
本页目录