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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
python抓取网页图片示例(python爬虫)
Apr 27 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
深入理解Python分布式爬虫原理
Nov 23 Python
Python 中包/模块的 `import` 操作代码
Apr 22 Python
Python supervisor强大的进程管理工具的使用
Apr 24 Python
python 上下文管理器及自定义原理解析
Nov 19 Python
python argparse传入布尔参数false不生效的解决
Apr 20 Python
Python实现在线批量美颜功能过程解析
Jun 10 Python
openCV提取图像中的矩形区域
Jul 21 Python
Matplotlib.pyplot 三维绘图的实现示例
Jul 28 Python
详解Django中异步任务之django-celery
Nov 05 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 JSON中文乱码的解决方法详解
2013/06/06 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
silverlight线程与基于事件驱动javascript引擎(实现轨迹回放功能)
2011/08/09 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
angular框架实现全选与单选chekbox的自定义
2017/07/06 Javascript
浅谈ajax请求不同页面的微信JSSDK问题
2018/02/26 Javascript
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
2019/04/22 Javascript
javascript设计模式 ? 命令模式原理与用法实例分析
2020/04/20 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
Python Web框架Flask中使用七牛云存储实例
2015/02/08 Python
python+selenium实现登录账户后自动点击的示例
2017/12/22 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
python多线程和多进程关系详解
2020/12/14 Python
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
Net Remoting把服务器端激活两种模式
2014/01/22 面试题
Shell如何接收变量输入
2016/08/06 面试题
城市轨道专业个人求职信范文
2013/09/23 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
乡镇科协工作总结2015
2015/05/19 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
使用javascript解析二维码的三种方式
2021/11/11 Javascript
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技