评价此页

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, optional) – 用于采样的伪随机数生成器

  • out (Tensor, optional) – 输出张量。

示例

>>> 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, optional) – 所有分布的均值

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

关键字参数

out (Tensor, optional) – 输出张量。

示例

>>> 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, optional) – 所有分布的标准差

关键字参数

out (Tensor, optional) – 输出张量

示例

>>> 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, optional) – 输出张量。

示例

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