torch.rand与torch.randn有何区别
时间: 2024-05-11 09:10:59 浏览: 180
pyTorch.randn()、rand()、cat()、pow()、scatter_()、.squeeze() 、.unsqueeze()
5星 · 资源好评率100%
torch.rand()和torch.randn()是PyTorch中用于生成张量的两个函数,它们之间的主要区别在于生成张量元素的方式不同[^1]。
1. torch.rand()函数生成的张量的元素是从[0, 1)的均匀分布中随机采样得到的。具体来说,它会生成一个指定大小的张量,并将其中的元素初始化为在[0, 1)范围内的随机值。
2. torch.randn()函数生成的张量的元素是从均值为0,方差为1的标准正态分布中随机采样得到的。具体来说,它会生成一个指定大小的张量,并将其中的元素初始化为从标准正态分布中采样得到的随机值。
下面是两个函数的示例代码:
1. 使用torch.rand()生成张量:
```python
import torch
# 生成一个大小为(2, 3)的张量,元素从[0, 1)的均匀分布中随机采样得到
x = torch.rand(2, 3)
print(x)
```
2. 使用torch.randn()生成张量:
```python
import torch
# 生成一个大小为(2, 3)的张量,元素从均值为0,方差为1的标准正态分布中随机采样得到
x = torch.randn(2, 3)
print(x)
```
阅读全文