評價此頁

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