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基于select实现的socket服务器
Apr 13 Python
Python 3实战爬虫之爬取京东图书的图片详解
Oct 09 Python
python实现在pandas.DataFrame添加一行
Apr 04 Python
对python 各种删除文件失败的处理方式分享
Apr 24 Python
Python Pillow Image Invert
Jan 22 Python
Numpy数组array和矩阵matrix转换方法
Aug 05 Python
Python数组并集交集补集代码实例
Feb 18 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
在python中使用nohup命令说明
Apr 16 Python
python Socket网络编程实现C/S模式和P2P
Jun 22 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 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实现今天是星期几的几种写法
2013/09/26 PHP
PHP实现通过中文字符比率来判断垃圾评论的方法
2014/10/20 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
thinkPHP框架通过Redis实现增删改查操作的方法详解
2019/05/13 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
JavaScript初学者应注意的七个细节小结
2012/01/30 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery输入城市查看地图使用介绍
2013/05/08 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
前端开发之CSS原理详解
2017/03/11 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
jquery实现回车键触发事件(实例讲解)
2017/11/21 jQuery
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
el-select数据过多懒加载的解决(loadmore)
2019/05/29 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
python实时监控logstash日志代码
2020/04/27 Python
Python os库常用操作代码汇总
2020/11/03 Python
css3 background属性调整增强介绍
2010/12/18 HTML / CSS
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
一年级小学生评语
2014/04/22 职场文书
创先争优个人承诺书
2014/08/30 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
设备技术员岗位职责
2015/04/11 职场文书
“5.12”护士节主持词
2015/07/04 职场文书