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 相关文章推荐
Python实现LRU算法的2种方法
Jun 24 Python
Python编程实现的图片识别功能示例
Aug 03 Python
python的mysqldb安装步骤详解
Aug 14 Python
Python分支结构(switch)操作简介
Jan 17 Python
python之线程通过信号pyqtSignal刷新ui的方法
Jan 11 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
python根据txt文本批量创建文件夹
Dec 08 Python
利用matplotlib为图片上添加触发事件进行交互
Apr 23 Python
Python requests及aiohttp速度对比代码实例
Jul 16 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
粗暴解决CUDA out of memory的问题
May 22 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 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的一个登录的类 [推荐]
2007/03/16 PHP
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
PHP实现货币换算的方法
2014/11/29 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
php获取微信共享收货地址的方法
2017/12/21 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
$.format,jquery.format 使用说明
2011/07/13 Javascript
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
图片在浏览器中底部对齐 解决方法之一
2011/11/30 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
vue2.0 keep-alive最佳实践
2017/07/06 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
pandas 选择某几列的方法
2018/07/03 Python
python实现多人聊天室
2020/03/31 Python
Python-while 计算100以内奇数和的方法
2019/06/11 Python
Python帮你微信头像任意添加装饰别再@微信官方了
2019/09/25 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
深入浅析Python代码规范性检测
2020/07/31 Python
python ssh 执行shell命令的示例
2020/09/29 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
自主招生自荐信指南
2014/02/04 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
2014年体育教师工作总结
2014/12/03 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
离职告别感言
2015/08/04 职场文书
Redis+Lua脚本实现计数器接口防刷功能(升级版)
2022/02/12 Redis