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决定。

posted @ 2021-11-08 11:07  zae  阅读(185)  评论(0编辑  收藏  举报