美文网首页
PyTorch生成随机数的各种常见方法

PyTorch生成随机数的各种常见方法

作者: Charlie酱 | 来源:发表于2019-01-20 15:01 被阅读0次

在使用PyTorch做实验时经常会用到生成随机数Tensor的方法,比如:

torch.rand()

torch.randn()

torch.normal()

torch.linespace()

在很长一段时间里我都没有区分这些方法生成的随机数究竟有什么不同,由此在做实验的时候经常会引起一些莫名其妙的麻烦。

所以在此做一个总结,以供大家阅读区分,不要重蹈我的覆辙。

均匀分布

torch.rand(sizes, out=None)* → Tensor

返回一个张量,包含了从区间[0, 1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义。

参数:

  • sizes (int…) - 整数序列,定义了输出张量的形状
  • out (Tensor, optinal) - 结果张量

例子:

torch.rand(2, 3)
0.0836 0.6151 0.69580.6998 0.2560 0.0139[torch.FloatTensor of size 2x3]

标准正态分布

torch.randn(sizes, out=None)* → Tensor

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

参数:

  • sizes (int…) - 整数序列,定义了输出张量的形状
  • out (Tensor, optinal) - 结果张量

例子:

torch.randn(2, 3)
0.5419 0.1594 -0.0413-2.7937 0.9534 0.4561[torch.FloatTensor of size 2x3]

离散正态分布

torch.normal(means, std, out=None) → → Tensor

返回一个张量,包含了从指定均值means和标准差std的离散正态分布中抽取的一组随机数。

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

参数:

  • means (float, optional) - 均值
  • std (Tensor) - 标准差
  • out (Tensor) - 输出张量

例子:

torch.normal(mean=0.5, std=torch.arange(1, 6))
-0.1505-1.2949-4.4880-0.5697-0.8996[torch.FloatTensor of size 5

线性间距向量

torch.linspace(start, end, steps=100, out=None) → Tensor

返回一个1维张量,包含在区间start和end上均匀间隔的step个点。

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

参数:

  • start (float) - 区间的起始点
  • end (float) - 区间的终点
  • steps (int) - 在start和end间生成的样本数
  • out (Tensor, optional) - 结果张量

例子:

torch.linspace(3, 10, steps=5)
3.00004.75006.50008.250010.0000[torch.FloatTensor of size 5]

原文地址:

集智学园的文字

相关文章

  • PyTorch生成随机数的各种常见方法

    在使用PyTorch做实验时经常会用到生成随机数Tensor的方法,比如: torch.rand() torch....

  • PHP生成随机数

    PHP生成随机数,相信大家在做项目的时候是最常见的吧。js生成随机数,PHP生成随机数。 应用场景:用户注册/登录...

  • 常用python函数

    生成随机数组pytorch a = torch.randn(s1, s2, ...) numpy a = np.r...

  • python中random模块功能详解(python工程狮)

    random — 生成伪随机数,random模块为各种分布实现伪随机数的生成。 1.random.random()...

  • 无处不在的随机数

    目录: 什么是随机数 随机数分类 伪随机数生成器 真随机数生成器 各种语言中的随机数 使用系统时间作为种子是否安全...

  • yii可逆加密解密

    生成随机数 方法:generateRandomString用法: 加密 方法:encryptByPassword用...

  • JavaScript生成6位随机数验证码

    相关知识点:Math.random方法 用于生成0~1之间的随机数toString方法 用于将生成的随机数转换成字...

  • Java 常用类 09. Java Random 类

    简介:生成随机数 构造方法:Random(); 创建一个新的随机数生成器。Random(long seed); 使...

  • Mock.Random

    Mock.Random Mock.Random 是一个工具类,用于生成各种随机数据。Mock.Random 的方法...

  • Python小函数

    生成随机数 生成指定范围内的浮点数: 参考链接:python生成随机数方法小结 进制转换 二进制到十进制:

网友评论

      本文标题:PyTorch生成随机数的各种常见方法

      本文链接:https://www.haomeiwen.com/subject/qbmxjqtx.html