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 XML RPC服务器端和客户端实例
Nov 22 Python
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
用于统计项目中代码总行数的Python脚本分享
Apr 21 Python
Python实现二分查找算法实例
May 26 Python
Python文件循环写入行时防止覆盖的解决方法
Nov 09 Python
python对列进行平移变换的方法(shift)
Jan 10 Python
python实现在函数图像上添加文字和标注的方法
Jul 08 Python
在django中,关于session的通用设置方法
Aug 06 Python
python使用scapy模块实现ARP扫描的过程
Jan 21 Python
python实现ROA算子边缘检测算法
Apr 05 Python
教你如何使用Python下载B站视频的详细教程
Apr 29 Python
yolov5返回坐标的方法实例
Mar 17 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 正确解码javascript中通过escape编码后的字符
2010/01/28 PHP
解析isset与is_null的区别
2013/08/09 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
js获取当前页的URL与window.location.href简单方法
2017/02/13 Javascript
Node.js 使用流实现读写同步边读边写功能
2017/09/11 Javascript
BootStrap数据表格实例代码
2017/09/13 Javascript
详解node nvm进行node多版本管理
2017/10/21 Javascript
深入了解JavaScript 私有化
2019/05/30 Javascript
Python性能优化的20条建议
2014/10/25 Python
详解python:time模块用法
2019/03/25 Python
numpy.meshgrid()理解(小结)
2019/08/01 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
selenium 多窗口切换的实现(windows)
2020/01/18 Python
python实现堆排序的实例讲解
2020/02/21 Python
CSS3中的Media Queries学习笔记
2016/05/23 HTML / CSS
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
三好生演讲稿
2014/09/12 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
大学教师个人总结
2015/02/10 职场文书
工作态度不好检讨书
2015/05/06 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
MySQL查看表和清空表的常用命令总结
2021/05/26 MySQL
Python中re模块的元字符使用小结
2022/04/07 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server