torch.rand(*size*out=Nonedtype=Nonelayout=torch.strideddevice=Nonerequires_grad=False)

#返回从[0,1)均匀分布中抽取的一组随机数;均匀分布采样;#*sizes指定张量的形状;

torch.randn(*size*out=Nonedtype=Nonelayout=torch.strideddevice=Nonerequires_grad=False) #返回从标准正态分布中抽取的一组随机数,也即高斯白噪声;

torch.normal(meanstd*generator=Noneout=None) → Tensor

返回一个由不同正态分布的随机数组成的张量,其均值和标准差已给出。

均值是一个张量,它是每个输出元素正态分布的均值;

std是一个张量,它是每个输出元素正态分布的标准差;

均值和标准差的形状不需要匹配,但每个张量的元素总数需要相同。

torch.normal()#返回正态分布;

#采样离散正态分布,相比c于torch.randn,每一个数字都可以来自不同均值和方差的正态分布
#有以下三种形式
torch.normal(mean=0.0, std, out=None) → Tensor #mean为标量(共用),std为tensor指定shape和每个位置的方差
torch.normal(mean, std=1.0, out=None) → Tensor #std为标量(共用),mean为tensor指定shape和每个位置的均值
torch.normal(mean, std, size, out=None) → Tensor #std和mean都是标量,此时需要size指定shape

randn和normal的区别

虽然randn和normal都可以生成服从正态分布的随机数,但是normal可以自己设定均值和标准差。就这点区别。

torch.randperm(n, out=None, requires_grad=True)#返回从0到n-1的整数的随机排列数

torch.linespace()

#线性间距采样
torch.linspace(start, end, steps=100, out=None) → Tensor
#start起点,end终点,steps点数

torch.randperm()
randperm(n, out=None, dtype=torch.int64)-> LongTensor

#torch中没有random.shuffle

#y = torch.randperm(n) y是把1到n这些数随机打乱得到的一个数字序列,给定参数n,返回一个从[0, n -1) 的随机整数排列。n (int) – 上边界。(不包含)

torch.randint(low=0, high, size, out=None, requires_grad=False)
返回一个张量,该张量填充了在[low,high)均匀生成的随机整数。
张量的形状由可变的参数大小定义。

从离散正态分布中随机抽样
torch.normal(means, std, out=None) → → Tensor

线性间距向量
torch.linspace(start, end, steps=100, out=None) → Tensor

返回一个1维张量,包含在区间start和end上均匀间隔的step个点。其中包含开头和结尾点,也就是开头是start数值,结尾是end对应的数值。

输出张量的长度由steps决定。如果不指定steps,默认输出从开始到结尾的100个数值,具体如下:

torch.linspace(start, end, steps, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False) → Tensor

  Creates a one-dimensional tensor of size steps whose values are evenly spaced from start to end, inclusive. That is, the value are:

参考:https://pytorch.org/docs/stable/generated/torch.linspace.html#torch.linspace

From PyTorch 1.11 linspace requires the steps argument. Use steps=100 to restore the previous behavior.

#Examples:
torch.linspace(3, 10, steps=5)
torch.linspace(-10, 10, steps=5)
torch.linspace(start=-10, end=10, steps=5)
torch.linspace(start=-10, end=10, steps=1)

numpy.linspace

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)[source]

  

参考:https://numpy.org/devdocs/reference/generated/numpy.linspace.html?highlight=linspace#numpy.linspace

返回一个1维张量,包含在区间start和end上均匀间隔的step个点。其中包含开头和结尾点,也就是开头是start数值,结尾是end对应的数值。

Python numpy函数:linspace处()创建等差数列

linspace用于创建一个是等差数列的一维数组。它创建的数组元素的数据格式是浮点型。

常看到的一般是三个参数,分别是:起始值、终止值(默认包含自身)、数列个数

输出张量的长度由steps决定。如果不指定steps,默认输出从开始到结尾的50个数值,具体如下:

import numpy as np
x=np.linspace(5,6)
x.shape,len(x),x.size,x.dtype,x #输出:
((50,),
50,
50,
dtype('float64'),
array([5. , 5.02040816, 5.04081633, 5.06122449, 5.08163265,
5.10204082, 5.12244898, 5.14285714, 5.16326531, 5.18367347,
5.20408163, 5.2244898 , 5.24489796, 5.26530612, 5.28571429,
5.30612245, 5.32653061, 5.34693878, 5.36734694, 5.3877551 ,
5.40816327, 5.42857143, 5.44897959, 5.46938776, 5.48979592,
5.51020408, 5.53061224, 5.55102041, 5.57142857, 5.59183673,
5.6122449 , 5.63265306, 5.65306122, 5.67346939, 5.69387755,
5.71428571, 5.73469388, 5.75510204, 5.7755102 , 5.79591837,
5.81632653, 5.83673469, 5.85714286, 5.87755102, 5.89795918,
5.91836735, 5.93877551, 5.95918367, 5.97959184, 6. ]))

  

torch.Tensor.uniform_()

torch.rand和torch.Tensor.uniform_

这样看到话,两个都能取0-1之间的均匀分布,但是问题在于rand取不到1,uniform_可以取到1。

此外,可参考:

https://blog.csdn.net/u011699626/article/details/112062173

torch.rand、torch.randn、torch.normal、torch.linespace的更多相关文章

  1. `TypeError: torch.mm received an invalid combination of arguments - got (torch.FloatTensor, Variable),

    `TypeError: torch.mm received an invalid combination of arguments - got (torch.FloatTensor, Variable ...

  2. CSS3与页面布局学习总结(二)——Box Model、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  3. Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别

    sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己 ...

  4. CSS3与页面布局学习笔记(二)——盒子模型(Box Model)、边距折叠、内联与块标签、CSSReset

    一.盒子模型(Box Model) 盒子模型也有人称为框模型,HTML中的多数元素都会在浏览器中生成一个矩形的区域,每个区域包含四个组成部分,从外向内依次是:外边距(Margin).边框(Border ...

  5. CSS3与页面布局学习总结——Box Model、边距折叠、内联与块标签、CSSReset

    目录 一.盒子模型(Box Model) 1.1.宽度测试 1.2.溢出测试 1.3.box-sizing属性 1.4.利用CSS画图 二.边距折叠 2.1.概要 2.2.垂直方向外边距合并计算 三. ...

  6. 八大排序方法汇总(选择排序,插入排序-简单插入排序、shell排序,交换排序-冒泡排序、快速排序、堆排序,归并排序,计数排序)

    2013-08-22 14:55:33 八大排序方法汇总(选择排序-简单选择排序.堆排序,插入排序-简单插入排序.shell排序,交换排序-冒泡排序.快速排序,归并排序,计数排序). 插入排序还可以和 ...

  7. 深入理解类成员函数的调用规则(理解成员函数的内存为什么不会反映在sizeof运算符上、类的静态绑定与动态绑定、虚函数表)

    本文转载自:http://blog.51cto.com/9291927/2148695 总结: 一.成员函数的内存为什么不会反映在sizeof运算符上?             成员函数可以被看作是类 ...

  8. 015-线程同步-synchronized几种加锁方式、Java对象头和Monitor、Mutex Lock、JDK1.6对synchronized锁的优化实现

    一.synchronized概述基本使用 为确保共享变量不会出现并发问题,通常会对修改共享变量的代码块用synchronized加锁,确保同一时刻只有一个线程在修改共享变量,从而避免并发问题. syn ...

  9. OSPF的特征、术语、包类型、邻居关系的建立、RID的选择、DR和BDR的选举、度量值的计算、默认路由、验证

    链路状态路由协议OSPF的特征.术语.包类型.邻居关系的建立.RID的选择.DR和BDR的选举.度量值的计算.默认路由.验证等. 文章目录 [*1*].链路状态路由协议概述 工作过程 优缺点 [*2* ...

随机推荐

  1. JS判断数组中的对象的每一个值不能为空

    方法一:使用every()函数,此函数不怎么常用,想要了解更多请自查 //表格 evaluateData为表格的数据 <el-table id="out-table3" :d ...

  2. 关于iOS 二维数组,对象映射的问题

    数据格式如下: 遇到的问题是二维数组的 对象无法 通过 yymodel 直接实力话 ~~~ -"scoring_probability_distribution": [ -[ -{ ...

  3. redis 知识点收集 注意理解底层

    学redis,首先要明白其特性,其次要理解明白redis与操作系统底层的关系,这点很重要.这是一个优秀的学习方法,作为计算机专业,应当时刻想着技术和操作系统计算机组成数据结构的联系,听起来有些书生气死 ...

  4. gh-ost使用问题记录

    因为 pt-osc 对数据库性能影响较大,且容易造成死锁问题,目前我们在线更改表结构都使用 gh-ost 工具进行修改,这里记录一下使用 gh-ost 过程中的问题,以作记录:首先先复习一下gh-os ...

  5. 001_iBase4J学习之环境搭建

    目录 序言 正文 第一关.拉取项目 第二关.导入数据库 第三关.修改 JDBC 配置文件 第四关.环境搭建,修改 nginx 设置 第五关.添加地址白名单 尾声 序言 大家好,我是白墨! 本次的目标是 ...

  6. Python学习笔记: pip install 常见错误汇总

    本机环境RHEL8, Python3.9 pip install: 无法安装最新版本的包 在pypi上查看pkg的页面,因为有些pip包的版本对特定的python版本有要求 pip install e ...

  7. 关于 background-image 渐变gradient()那些事!

    大家好,我是半夏,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注 点赞 加我微信:frontendpicker,一起学习交流前端,成为更优秀的工程师-关注公众号:搞前端的半夏,了解更多前端知 ...

  8. Windows下搭建redis 哨兵环境

    从 https://github.com/tporadowski/redis/releases 下载windows版的redis,自行下载解压. 关于哨兵模式的讲解,强烈推荐 [深入学习redis(4 ...

  9. java基础4.20

    1.是否可以从一个static方法内部发出对非static方法的调用? 不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时 ...

  10. 快速创建简单的mybatis应用

    1.导包(配置pom.xml) 一定要用这个网站:https://mvnrepository.com/ 点击查看代码 <dependency> <groupId>org.myb ...