torch.rand()和torch.randn()的用法

一.相同点

torch.rand() 和torch.randn() 都是用来生成随机张量的函数。

二.不同点

1.torch.rand() 生成在区间 [0, 1) 内均匀分布的随机数,也可以说生成的张量中的元素符合均匀分布。

  参数size:所需张量形状的元组或整数。

import torch

x = torch.rand(2, 3)
print(x)
-------------------------------
tensor([[0.2755, 0.6407, 0.1348],
        [0.7009, 0.3745, 0.3707]])

2.torch.randn() 生成从标准正态分布(均值为0,标准差为1)中采样的随机数。也可以说生成的张量中的元素符合标准正态分布。

   参数size:所需张量形状的元组或整数。

import torch

x = torch.randn(2, 3)
print(x)
-------------------------------------
tensor([[-0.7634,  0.4938,  2.0363],
        [-0.0975,  1.8824,  2.0274]])

三. 注意

由于 torch.randn 生成的是从标准正态分布中采样的随机数,因此它的值可以在负无穷到正无穷之间,而 torch.rand 生成的随机数范围在 [0, 1) 内。

在区间 [0, 1) 内均匀分布的随机数是一种随机数生成方式,其中生成的随机数在区间 [0, 1) 内的任何值都具有相同的概率分布。这意味着在 [0, 1) 内的任何值都有可能被生成,包括所有的实数值。因此,生成的随机数可以是小数,而不仅仅是整数

猜你喜欢

转载自blog.csdn.net/m0_62278731/article/details/134327305