torch.rand()和torch.randn()的区别

torch.rand() 和 torch.randn() 是 PyTorch 中用于生成张量的两个函数,它们之间的主要区别在于生成张量元素的方式不同:

1.torch.rand():

torch.rand() 用于生成元素值在 [0, 1) 之间均匀分布的随机张量。
返回的张量中的每个元素都是从区间 [0, 1) 的均匀分布中随机采样得到的。
示例:

import torch

# 生成一个形状为 (2, 3) 的随机张量,值在 [0, 1) 的均匀分布中随机取样
x = torch.rand(2, 3)

2.torch.randn():

torch.randn() 用于生成元素值服从标准正态分布(均值为0,方差为1)的随机张量。
返回的张量中的每个元素都是从标准正态分布中随机采样得到的。

import torch

# 生成一个形状为 (2, 3) 的随机张量,值服从标准正态分布
x = torch.randn(2, 3)

总的来说,torch.rand() 生成的张量中的元素值来自 [0, 1) 的均匀分布,而 torch.randn() 生成的张量中的元素值来自标准正态分布。因此,你可以根据需要选择合适的随机初始化方法。

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