深入浅出PyTorch函数torch.rand与torch.randn

torch.randtorch.randn 都是PyTorch中用于生成随机张量的函数,但它们生成随机数的方式有所不同。

一、torch.rand

深入浅出PyTorch函数torch.rand与torch.randn_第1张图片

torch.rand 生成在区间 [0, 1) 内均匀分布的随机数。
size 参数是一个表示所需张量形状的元组或整数。可以生成任何形状的随机张量。

二、torch.randn

深入浅出PyTorch函数torch.rand与torch.randn_第2张图片

torch.randn 生成从标准正态分布(均值为0,标准差为1)中采样的随机数。
size 参数同样是一个表示所需张量形状的元组或整数。

三、代码示例

import torch

random_tensor1 = torch.rand((2, 3))
print(random_tensor1)

random_tensor2 = torch.randn((2, 3))
print(random_tensor2)
tensor([[0.5962, 0.6559, 0.9725],
        [0.4057, 0.5187, 0.2943]])
tensor([[ 0.1503,  0.6359, -0.2597],
        [-0.3500, -1.1397,  1.9649]])

三、注意

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

四、解释“在区间 [0, 1) 内均匀分布的随机数”

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

你可能感兴趣的:(pytorch,深度学习,人工智能)