pytorch常见的Tensor类型详解


Posted in Python onJanuary 15, 2020

Tensor有不同的数据类型,每种类型分别有对应CPU和GPU版本(HalfTensor除外)。默认的Tensor是FloatTensor,可通过torch.set_default_tensor_type修改默认tensor类型(如果默认类型为GPU tensor,则所有操作都将在GPU上进行)。

Tensor的类型对分析内存占用很有帮助,例如,一个size为(1000,1000,1000)的FloatTensor,它有1000*1000*1000=10^9个元素,每一个元素占用32bit/8=4Byte内存,所以共占用大约4GB内存/显存。HalfTensor是专为GPU版本设计的,同样的元素个数,显存占用只有HalfTensor的一半,所以可以极大缓解GPU显存不足的问题,但是由于HalfTensor所能表示的数值大小和精度有限,所以可能出现溢出等问题。

数据类型 CPU Tensor GPU Tensor
32 bit 浮点 torch.FloatTensor torch.cuda.FloatTensor
64 bit 浮点 torch.DoubleTensor torch.cuda.DoubleTensor
16 bit 半精度浮点 N/A torch.cuda.HalfTensor
8 bit 无符号整形(0~255) torch.ByteTensor torch.cuda.ByteTensor
8 bit 有符号整形(-128~127) torch.CharTensor torch.cuda.CharTensor
16 bit 有符号整形 torch.ShortTensor torch.cuda.ShortTensor
32 bit 有符号整形 torch.IntTensor torch.cuda.IntTensor
64 bit 有符号整形 torch.LongTensor torch.cuda LongTensor

各数据类型之间可以互相转换,type(new_type)是通用的做法,同时还有float、long、half等快捷方法。CPU tensor和GPU tensor之间的互换是通过tensor.cudatensor.cpu的方法实现。

如:

#设置默认tensor,注意参数是字符串
torch.set_default_tensor_type('torch.IntTensor')
 
a=torch.Tensor(2,3)
print(a)  #a现在是IntTensor

以上这篇pytorch常见的Tensor类型详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用插入排序算法的简单分析与代码示例
May 04 Python
一个基于flask的web应用诞生 使用模板引擎和表单插件(2)
Apr 11 Python
Python爬虫获取整个站点中的所有外部链接代码示例
Dec 26 Python
python按行读取文件,去掉每行的换行符\n的实例
Apr 19 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
Jun 26 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
python实现QQ空间自动点赞功能
Apr 09 Python
Python 读取串口数据,动态绘图的示例
Jul 02 Python
PyTorch中 tensor.detach() 和 tensor.data 的区别详解
Jan 06 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
Apr 21 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
Python集合的基础操作
Nov 01 Python
pytorch 常用线性函数详解
Jan 15 #Python
python3.8下载及安装步骤详解
Jan 15 #Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 #Python
pytorch模型预测结果与ndarray互转方式
Jan 15 #Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 #Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
Jan 15 #Python
pytorch构建多模型实例
Jan 15 #Python
You might like
PHP4实际应用经验篇(4)
2006/10/09 PHP
PHP中Session引起的脚本阻塞问题解决办法
2014/04/08 PHP
Yii的CDbCriteria查询条件用法实例
2014/12/04 PHP
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
2013/08/29 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
2017/03/08 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
自定义Vue组件打包、发布到npm及使用教程
2019/05/22 Javascript
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
python合并多个excel文件的示例
2020/09/23 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
Html5移动端网页端适配(js+rem)
2021/02/03 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
财务会计毕业生自荐信
2013/11/02 职场文书
大学自我鉴定
2013/12/20 职场文书
质量承诺书格式
2014/05/20 职场文书
计算机专业自荐信
2014/05/24 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
2014年基建工作总结
2014/12/12 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
乔迁新居祝福语
2019/11/04 职场文书
vue里使用create, mounted调用方法
2022/04/26 Vue.js
Python四款GUI图形界面库介绍
2022/06/05 Python
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers