Pytorch数据类型与转换(torch.tensor,torch.FloatTensor)

 更新时间:2023年02月21日 15:36:38   作者:ggbooo  
这篇文章主要介绍了Pytorch数据类型转换(torch.tensor,torch.FloatTensor),之前遇到转为tensor转化为浮点型的问题,今天整理下,我只讲几个我常用的,对Pytorch数据类型转换相关知识感兴趣的朋友一起看看吧

Pytorch数据类型与转换(torch.tensor,torch.FloatTensor)

之前遇到转为tensor转化为浮点型的问题,今天整理下,我只讲几个我常用的,如果有更好的方法,欢迎补充

一、torch.tensor

1.首先讲下torch.tensor,默认整型数据类型为torch.int64,浮点型为torch.float32

在这里插入图片描述

2.这是我认为平常最爱用的转数据类型的方法,可以用dtype去定义数据类型

在这里插入图片描述

二、torch.FloatTensor

1.这个函数不要乱用,首先它可以将变量转化为浮点型32位,这里注意此时的变量类型为列表,或数组等,此时参数为单个变量

在这里插入图片描述

2.当函数参数为整形时,表示生成矩阵的维度,此时参数可以为多个变量

在这里插入图片描述

补充:还有一种方法通过numpy数组定义数据类型,再转化为tensor,这个方法不多讲了。

扩展:Pytorch数据类型转换

1. Pytorch上的数据类型

Pytorch的类型可以分为CPU和GPU上的Tensor, 它们拥有的数据类型是基本上是一样的:

  • tensor.FloatTensor
  • tensor.LongTensor
  • tensor.ByteTensor
  • tensor.CharTensor
  • tensor.ShortTensor
  • tensor.IntTensor
  • torch.LongTensor

其中torch.Tensor是默认的tensor.FloatTensor的简称。

2. 数据类型之间的转换

tensor = torch.Tensor(3, 5)
## torch.long() 将tensor投射为long类型:
newtensor = torch.long()
## torch.int()将该tensor投射为int类型:
newtensor = torch.int()
## torch.double()将该tensor投射为double类型:
newtensor = torch.double()

一般,只要在Tensor后加long(), int(), double(), float(), byte()等函数就能将Tensor的类型进行转换
除此之外,可以使用type()函数,data为Tensor数据类型,data.type()给出data的类型,如果使用data.type(torch.FloatTensor)则强制转换为torch.FloatTensor类型的张量, 如果不知道什么类型,可以使用tensor_1.type_as(tensor_2), 将tensor_1转换成tensor_2

self = torch.LongTensor(3, 5)
# 转换为其他类型
print self.type(torch.FloatTensor)

3. cuda数据类型,cpu类型和一般的数据类型

  • 如果没有特别说明:tensor是cpu上的变量
  • 使用gpu张量:tensor.cuda()
  • 使用cpu张量:tensor.cpu()
  • Variable转换成普通的Tensor: variable.data()
  • Tesnor转换成numpy array的格式:tensor.numpy()
  • numpy数据转换成Tensor: torch.from_numpy(np_data)
  • Tensor转换成Variable: Variable(tensor)

Pytorch数据类似pytorch中的tensor, 更重要的是tensor可以使用GPU来加速,并且变成Variable可以实现自动求导的功能,Variable是对Tensor对象的封装。

转载链接:https://www.jianshu.com/p/eb7c6af28922

逻辑值True和False转成0和1. +0

print(y)
print(y+0)
## 输出结果
tensor([ True, False, False,  True,  True, False, False,  True,  True, False])
tensor([1, 0, 0, 1, 1, 0, 0, 1, 1, 0])

到此这篇关于Pytorch数据类型转换(torch.tensor,torch.FloatTensor)的文章就介绍到这了,更多相关Pytorch数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 新手Python环境配置指南及pip安装教程

    新手Python环境配置指南及pip安装教程

    这篇文章主要给大家介绍了新手Python环境配置指南及pip安装教程的相关资料,pip是一款非常方便的python包管理工具,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • python筛选出两个文件中重复行的方法

    python筛选出两个文件中重复行的方法

    这篇文章主要为大家详细介绍了python筛选出两个文件中重复行的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • python对list中的每个元素进行某种操作的方法

    python对list中的每个元素进行某种操作的方法

    今天小编就为大家分享一篇python对list中的每个元素进行某种操作的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python一行输入多值的实现详解

    python一行输入多值的实现详解

    开发人员通常想要用户在一行中输入多个值或者输入。在python中有两种方式让用户在一行中输入多个值或者输入,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-09-09
  • python条件语句和while循环语句

    python条件语句和while循环语句

    这篇文章主要介绍了python条件语句和while循环语句,文章基于python的相关资料展开对其条件语句及while循环语句的详细内容介绍,需要的小伙伴可以参考一下
    2022-04-04
  • Django 后台获取文件列表 InMemoryUploadedFile的例子

    Django 后台获取文件列表 InMemoryUploadedFile的例子

    今天小编就为大家分享一篇Django 后台获取文件列表 InMemoryUploadedFile的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 在mac下查找python包存放路径site-packages的实现方法

    在mac下查找python包存放路径site-packages的实现方法

    今天小编就为大家分享一篇在mac下查找python包存放路径site-packages的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python方向键控制上下左右代码

    python方向键控制上下左右代码

    这篇文章主要介绍了python方向键控制上下左右代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python优雅实现二分查找的示例详解

    Python优雅实现二分查找的示例详解

    二分查找是一种高效的搜索算法,用于在有序数组中查找特定元素,本文将介绍二分查找的基本原理,并通过Python代码进行详细讲解,需要的可以参考一下
    2023-07-07
  • Python使用ffmpeg实现将WebM文件转换为MP4文件

    Python使用ffmpeg实现将WebM文件转换为MP4文件

    这篇文章主要介绍了Python如何使用wxPython库创建一个简单的GUI应用程序,可以实现将WebM文件转换为MP4文件,文中的示例代码讲解详细,感兴趣的可以动手尝试一下
    2023-08-08

最新评论