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连接oracle数据库实例
Oct 17 Python
深入理解Python中字典的键的使用
Aug 19 Python
Django实现自定义404,500页面教程
Mar 26 Python
Python基础之getpass模块详细介绍
Aug 10 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
Python使用matplotlib实现基础绘图功能示例
Jul 03 Python
pyspark.sql.DataFrame与pandas.DataFrame之间的相互转换实例
Aug 02 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
python实现高斯(Gauss)迭代法的例子
Nov 20 Python
简单了解Django项目应用创建过程
Jul 06 Python
Python制作运行进度条的实现效果(代码运行不无聊)
Feb 24 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 Try Catch异常测试
2009/03/01 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHP环境搭建的详细步骤
2016/06/30 PHP
php实现水印文字和缩略图的方法示例
2016/12/29 PHP
jQuery 行级解析读取XML文件(附源码)
2009/10/12 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(jquery)
2014/11/16 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
js实现TAB切换对应不同颜色的代码
2015/08/31 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
日常收藏的jquery技巧
2015/12/02 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
2016/12/16 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
微信小程序生成海报分享朋友圈的实现方法
2019/05/06 Javascript
实例讲解Python中global语句下全局变量的值的修改
2016/06/16 Python
使用Python调取任意数字资产钱包余额功能
2019/08/15 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
魔幻般冒泡背景的CSS3按钮动画
2016/02/27 HTML / CSS
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
德国购买门票网站:ADticket.de
2019/10/31 全球购物
初中政治教学反思
2014/01/17 职场文书
全民健身日活动方案
2014/01/29 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js