torch.randn()
返回一个张量,这个张量中填充了均值为0、方差为1的正态分布中的随机数。
张量的形状由变量size
定义。
有时会遇到括号中有1个、2个、3个和4个情况。
当为torch.randn(1)
时,产生一个size=1
服从标准正态分布的张量
import torch
a = torch.randn(1)
print(a)
当为torch.randn(2, 3)
时,产生一个2行3列且里面的数服从标准正态分布的张量。
import torch
a = torch.randn(2, 3)
print(a)
当为torch.randn(2, 3, 4)
时,产生一个2个样本,3行4列且其中的数服从标准正态分布的张量。
import torch
a = torch.randn(2, 3, 4)
print(a)
当为torch.randn(2, 2, 3, 4)
时
这在深度学习中较为常见,一般代表(batch_size, channels, height, weight)
即为(样本大小,通道数,高度,宽度)。
import torch
a = torch.randn(2, 2, 3, 4)
print(a)
print(a.shape)
官方文档:
torch.randn(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False)
主要参数:
- size(int…)- 定义输出张量的形状的整数序列。可以是可变数量的参数,也可以是一个集合,如列表或元组。
关键字参数:- generator( torch.Generator ,可选)-用于采样的伪随机数生成器
- out(Tensor,可选)-输出张量。
- dtype( torch.dtype ,可选)-返回张量的所需数据类型。默认值:如果是 None ,则使用全局默认值。
- layout( torch.layout ,可选)-返回的Tensor的所需布局。默认值: torch.strided 。
- device( torch.device ,可选)-返回张量的所需设备。默认:如果 None ,则使用当前设备作为默认张量类型
- requires_grad(bool,可选)-如果autograd应该记录返回张量的操作。默认值: False 。
- pin_memory(bool,可选)-如果设置,返回的张量将分配到固定内存中。