评价此页

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