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

2023-12-20 18:38:26

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() 生成的张量中的元素值来自标准正态分布。因此,你可以根据需要选择合适的随机初始化方法。

文章来源:https://blog.csdn.net/m0_57317650/article/details/135076737
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。