PyTorch中Tensor的数据类型和运算的使用


Posted in Python onSeptember 03, 2020

     在使用Tensor时,我们首先要掌握如何使用Tensor来定义不同数据类型的变量。Tensor时张量的英文,表示多维矩阵,和numpy对应,PyTorch中的Tensor可以和numpy的ndarray相互转换,唯一不同的是PyTorch可以在GPU上运行,而numpy的ndarray只能在cpu上运行。 

       常用的不同数据类型的Tensor,有32位的浮点型torch.FloatTensor,   64位浮点型 torch.DoubleTensor,   16位整形torch.ShortTensor,    32位整形torch.IntTensor和64位整形torch.LongTensor

 一:Tensor的数据类型

1  torch.FloatTensor:用于生成数据类型为浮点型的Tensor,传递给torch.FloatTensor的参数可以是一个列表,也可以是一个维度值

PyTorch中Tensor的数据类型和运算的使用

2:torch.IntTensor:用于生成数据类型为整形的Tensor,传递给torch.IntTensor的参数可以是一个列表,也可以是一个维度值

PyTorch中Tensor的数据类型和运算的使用

3:torch.rand:用于生成数据类型为浮点型且维度指定的随机Tensor,和在NumPy中使用的numpy.rand生成随机数的方法类似,随机生成的浮点数据在0-1区间均匀分布

PyTorch中Tensor的数据类型和运算的使用

4:torch.randn:用于生成数据类型为浮点型且维度指定的随机Tensor,和在NumPy中使用numpy.randn生成随机数的方法类似,随机生成的浮点数的取值满足均值为0,方差为1的正态分布

PyTorch中Tensor的数据类型和运算的使用

5:torch.range:用于生成数据类型为浮点型且自定义起始范围和结束范围的Tensor,所以传递给torch.range的参数有三个,分别是范围的起始值,范围的结束值和步长,其中,步长用于指定从起始值到结束值得每步得数据间隔

二:Tensor的运算

       通过对Tensor数据类型的变量进行运算,来组合一些简单或者复杂的算法,常用的Tensor运算如下。

1.torch.abs:将参数传递到torch.abs后返回输入参数的绝对值作为输出,输入参数必须是一个Tensor数据类型的变量。

2.torch.add:将参数传递到torch.add后返回输入参数的求和结果作为输出,输入参数可以全部是Tensor数据类型的变量,也可以一个是Tensor数据类型的变量,另一个是标量。

PyTorch中Tensor的数据类型和运算的使用

3.torch.clamp:对输入参数按照自定义的范围进行裁剪,最后将参数裁剪的结果作为输出。所以输入参数一共有三个,分别是需要进行裁剪的一共三个,分别是需要进行裁剪的Tensor数据类型的变量,裁剪的上边界,下边界。过程是,让变量的每个元素分别和上下边界比较,如果小于下边界,该元素就被重写下边界的值,如果大于上边界,该元素就被重写上边界的值。

PyTorch中Tensor的数据类型和运算的使用

4.torch.div:将参数传递到torch.div后返回输入参数的求商结果作为输出,同样,参与运算的参数可以全部是Tensor数据类型的变量,也可以是Tensor数据类型的变量和标量的组合

PyTorch中Tensor的数据类型和运算的使用

5.torch.mul:将参数传递到torch.mul后返回输入参数求积的结果作为输出,参与运算的参数可以全部是Tensor数据类型的变量,

也可以是Tensor数据类型的变量和标量的组合

6.torch.pow:将参数传递到torch.pow后返回输入参数的求幂结果作为输出,参与运算的参数可以全部是Tensor数据类型的变量,

也可以是Tensor数据类型的变量和标量的组合

就是a的b次方

PyTorch中Tensor的数据类型和运算的使用

7.torch.mm:将参数传递到torch.mm后返回输入参数的求积结果作为输出,不过这个求积结果的方式和之前的torch.mul运算方式不一样,toch.mm运用矩阵之间的乘法法则进行计算,所以被传入的参数会被当作矩阵进行处理,参数的维度自然也要满足矩阵乘法的前提条件,即前一个矩阵的行数必须和后一个矩阵的列数相等,否则不能计算。

8.torch.mv:将参数传递到torch.mv后返回输入参数的求积结果作为输出,torch.mv运用矩阵与向量之间的乘法规则进行计算,被传入的第一个参数代表矩阵,第二个参数代表向量,顺序不能颠倒

PyTorch中Tensor的数据类型和运算的使用

到此这篇关于PyTorch中Tensor的数据类型和运算的使用的文章就介绍到这了,更多相关PyTorch Tensor数据类型和运算内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
使用beaker让Facebook的Bottle框架支持session功能
Apr 23 Python
在Mac OS系统上安装Python的Pillow库的教程
Nov 20 Python
python 去除txt文本中的空格、数字、特定字母等方法
Jul 24 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
python 将字符串完成特定的向右移动方法
Jun 11 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
Python对列表的操作知识点详解
Aug 20 Python
python tornado修改log输出方式
Nov 18 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
Django静态资源部署404问题解决方案
May 11 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
asyncio异步编程之Task对象详解
Mar 13 Python
python开发入门——set的使用
Sep 03 #Python
使用anaconda安装pytorch的实现步骤
Sep 03 #Python
解决Python安装cryptography报错问题
Sep 03 #Python
解决python打开https出现certificate verify failed的问题
Sep 03 #Python
详解torch.Tensor的4种乘法
Sep 03 #Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 #Python
python开发入门——列表生成式
Sep 03 #Python
You might like
php xml文件操作代码(一)
2009/03/20 PHP
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
变量声明时命名与变量作为对象属性时命名的区别解析
2013/12/06 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
Node.js编程中客户端Session的使用详解
2015/06/23 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
2017/02/15 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
JavaScript数组常用的增删改查与其他属性详解
2020/10/13 Javascript
关于better-scroll插件的无法滑动bug(2021通过插件解决)
2021/03/01 Javascript
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
python装饰器使用方法实例
2013/11/21 Python
python web框架中实现原生分页
2019/09/08 Python
Python读取YAML文件过程详解
2019/12/30 Python
Python实现不规则图形填充的思路
2020/02/02 Python
2021年的Python 时间轴和即将推出的功能详解
2020/07/27 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
python3列表删除大量重复元素remove()方法的问题详解
2021/01/04 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
HTML5新特性 多线程(Worker SharedWorker)
2017/04/24 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
MediaMarkt比利时:欧洲最大电器连锁店
2020/12/21 全球购物
文明班集体申报材料
2014/05/23 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
大学生毕业评语
2014/12/31 职场文书
财务部会计岗位职责
2015/02/03 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
Windows server 2016服务器基本设置
2022/08/14 Servers