pytorch常见的Tensor类型详解

 更新时间:2020年01月15日 10:45:59   作者:fly_Xiaoma  
今天小编就为大家分享一篇pytorch常见的Tensor类型详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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中的random.choices函数用法详解

    Python中的random.choices函数用法详解

    这篇文章主要给大家介绍了关于Python中random.choices函数用法的相关资料,random.random() 的功能是随机返回一个 0-1范围内的浮点数,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • 用代码帮你了解Python基础(3)

    用代码帮你了解Python基础(3)

    这篇文章主要用代码帮你了解Python基础,使用循环,字典和集合的示例代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 详解Python匹配多行文本块的正则表达式

    详解Python匹配多行文本块的正则表达式

    这篇文章主要介绍了Python 匹配多行文本块的正则表达式,该解决方案折衷了已知和未知模式的几种方法,并解释了匹配模式的工作原理,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Python Django框架设计模式详解

    Python Django框架设计模式详解

    Django是一个开源的Web应用框架,由Python写成。采用MVC的软件设计模式,主要目标是使得开发复杂的、数据库驱动的网站变得简单。Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法则(Don’t Repeat Yoursef)
    2021-11-11
  • DRF使用simple JWT身份验证的实现

    DRF使用simple JWT身份验证的实现

    这篇文章主要介绍了DRF使用simple JWT身份验证,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 解决python3输入的坑——input()

    解决python3输入的坑——input()

    这篇文章主要介绍了解决python3输入的坑——input(),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • python2利用wxpython生成投影界面工具的图文详解

    python2利用wxpython生成投影界面工具的图文详解

    这篇文章主要介绍了python2利用wxpython生成投影界面工具的图文详解,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • python csv实时一条一条插入且表头不重复问题

    python csv实时一条一条插入且表头不重复问题

    这篇文章主要介绍了python csv实时一条一条插入且表头不重复问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • python中str内置函数用法总结

    python中str内置函数用法总结

    在本篇文章里小编给大家整理了一篇关于python中str内置函数用法总结内容,有需要的朋友们可以学习下。
    2020-12-12
  • 详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)

    详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)

    这篇文章主要介绍了详解利用OpenCV提取图像中的矩形区域(PPT屏幕等),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-07-07

最新评论