栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python数据的转换

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python数据的转换

需要注意的是,Numpy 在 64 位机子上浮点数默认的数据类型是 float64,而 Pytorch 默认的是 float32。所以为了确保转换后的数据类型是 float32,以及兼顾适用性,使用 torch.as_tensor() 都是更好的选择

(1)提示list没有.shape的属性

a=[1,2,3]
a=np.array(a)
a.shape

(2)将numpy变为tensor

a=np.array([1,2,3])
a=torch.from_numpy(a)
a.shape,a.dtype

#Out:torch.Size([3],(torch.Size([3]), torch.int32))

#或者采用torch.as_tensor(a,dtype=float)
a=np.array([1,2,3])
a=torch.as_tensor(a,dtype=float)
a.shape,a.dtype

#out:(torch.Size([3]), torch.float64)

(3)将tensor转化为numpy

a=torch.FloatTensor([1,2,3])
a=a.numpy()
a.shape,a.dtype

#((3,), dtype('float32'))

(4)查看数据的类型和所属于的是list或者是元祖之类

a=[1,2,3]
a=np.array(a)
a.shape,a.dtype,type(a)
#out:((3,), dtype('int32'), numpy.ndarray)

(5)numpy的数据的list 和元祖和np.array直接的转换

#(1)将list转换为numpy
a=[1,2,3]
b=np.array(a)
b.dtype,type(b)
#out:(dtype('int32'), numpy.ndarray)  #记住了list是没有shape和type等属性
#(2)将元祖转换为numpy
a=(1,2,3)
b=np.array(a)
b.dtype,type(b)
#output:(dtype('int32'), numpy.ndarray) #记住了tuple也是没有shape和type等属性
(3)将字典转换为numpy
a={'a':1,'b':2}
b=np.array(a)
b.dtype,type(b)
#out:(dtype('O'), numpy.ndarray) #记住了dict也是没有shape和type等属性

(6)tensor的数据list和元祖和tensor的转换(tensor的list和字典等可以使用:len(list)来进行看list的个数)

方法一:List Tensor转Tensor (torch.cat):torch.cat(a,dim=1)--dim表示按照哪个维度进行拼接,dim=1则按照列进行拼接

方法二:采用torch.stack

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/935208.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号