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使用代理抓取网站图片(多线程)
Mar 14 Python
python元组操作实例解析
Sep 23 Python
Python中Iterator迭代器的使用杂谈
Jun 20 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
libreoffice python 操作word及excel文档的方法
Jul 04 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
Mar 14 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
Nov 02 Python
Python实现曲线拟合的最小二乘法
Feb 19 Python
用python实现监控视频人数统计
May 21 Python
Python学习之包与模块详解
Mar 19 Python
python数字图像处理之图像的批量处理
Jun 28 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 文本文章分页代码 按标记或长度(不涉及数据库)
2012/06/07 PHP
php 使用file_get_contents读取大文件的方法
2014/11/13 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
php报错502badgateway解决方法
2019/10/11 PHP
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
javascript实现下雨效果
2017/03/27 Javascript
JS传参及动态修改页面布局
2017/04/13 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
开发中常用的25个JavaScript单行代码(小结)
2019/06/28 Javascript
对TypeScript库进行单元测试的方法
2019/07/18 Javascript
前后端常见的几种鉴权方式(小结)
2019/08/04 Javascript
实例讲解React 组件生命周期
2020/07/08 Javascript
详解node.js 事件循环
2020/07/22 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
详解Python中time()方法的使用的教程
2015/05/22 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
Python基本类型的连接组合和互相转换方式(13种)
2019/12/16 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
行政主管岗位职责
2013/11/18 职场文书
大学生职业生涯规划书模板
2014/01/18 职场文书
售后服务承诺书范文
2014/03/26 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
民间借贷协议书范本
2014/10/01 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL