torch.randn和torch.rand有什么区别
y = torch.rand(5,3) y=torch.randn(5,3)
一个均匀分布,一个是标准正态分布。
torch.randn(2, 3)
torch.rand(2, 3)
均匀分布
torch.rand(*sizes, out=None) → Tensor
返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。
张量的形状由参数sizes定义。
参数:
- sizes (int...) - 整数序列,定义了输出张量的形状
- out (Tensor, optinal) - 结果张量
标准正态分布
**torch.randn(*sizes, out=None) ** → Tensor
返回一个张量,包含了从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数。
张量的形状由参数sizes定义。
参数:
- sizes (int...) - 整数序列,定义了输出张量的形状
- out (Tensor, optinal) - 结果张量
其他分布取数:
离散正态分布
torch.normal(means, std, out=None) → Tensor
eg:
>>> torch.normal(mean=0.5, std=torch.arange(1, 6).float())
tensor([ 0.2269, -1.3955, 3.6754, -2.5258, 1.4732])
线性间距向量
torch.linspace(start, end, steps=100, out=None) → Tensor
返回一个1维张量,包含在区间start和end上均匀间隔的step个点。
输出张量的长度由steps决定。