torch.randn和torch.rand区别

2021-07-30  本文已影响0人  Jarkata

torch.rand是均匀分布
torch.randn是标准正态分布

torch.rand 均匀分布

torch.rand(sizes,out=None)* -> Tensor
返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义。

参数:

例子:

>>> torch.rand(2,3)
tensor([[0.8436, 0.4287, 0.6262], 
        [0.6846, 0.5056, 0.1218]])

torch.randn 标准正态分布

** torch.randn(sizes, out=None)* -> Tensor
返回一个张量,包含了从标准正态分布(均值为0,方差为1,即高斯白噪声)中抽取的一组随机数。
张量的形状由参数sizes定义。

参数

例子

>>> torch.randn(2,3)
tensor([[ 0.2633,  0.3227, -0.4687],
        [ 1.4386, -1.3225, -0.3291]])

其他:

离散正态分布

torch.normal(means, std, out=None) → → Tensor
返回一个张量,包含了从指定均值means和标准差std的离散正态分布中抽取的一组随机数。

标准差std是一个张量,包含每个输出元素相关的正态分布标准差。

注意区分torch.norm

torch.norm是对输入的Tensor求范数

torch.norm(input, p, dim, out=None,keepdim=False) → Tensor

线性间距向量

torch.linspace(start,end,steps=100,out=None)→ Tensor
返回一个1维张量,包含在区间start和end上均匀间隔的step个点。

输出张量的长度由steps决定。

参考

PyTorch 常用方法总结1:生成随机数Tensor的方法汇总(标准分布、正态分布……) - 集智学园的文章 - 知乎
https://zhuanlan.zhihu.com/p/31231210

上一篇 下一篇

猜你喜欢

热点阅读