本文主要介绍pytorch中不同数据类型的Tensor矩阵,例如:float32、float64、int32、int64。并将创建好的列表数据转成不同数据类型的Tensor矩阵,最后进行:行复制的操作。
一、列表转Tensor,复制行和列向量
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(a)
print(type(a)) #查看a的类型---即列表类型
'''结果'''
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
<class 'list'>
a = torch.Tensor(a) #将列表a转成tensor类型
print(a)
print(type(a), a.dtype) #查看a的类型和a中各个元素的数据类型
'''结果'''
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
<class 'torch.Tensor'> torch.float32
a = a.repeat(2, 1) #将a的行复制一次,变成两行,1--表示列不变
print(a)
a = a.repeat(3, 1) #将a的行复制两次,变成三行,1--表示列不变
print(a)
'''结果'''
tensor([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],
[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]])
tensor([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],
[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.],
[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.]])
a = a.repeat(1, 2) #将a的列复制一次,增广列数,原来的两倍,1--表示行不变
print(a)
a = a.repeat(1, 3) #将a的列复制一次,增广列数,原来的三倍,1--表示行不变
print(a)
'''结果'''
tensor([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 1., 2., 3., 4.,
5., 6., 7., 8., 9., 10.]])
tensor([[ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 1., 2., 3., 4.,
5., 6., 7., 8., 9., 10., 1., 2., 3., 4., 5., 6., 7., 8.,
9., 10.]])
二、转Tensor矩阵中元素的数据类型
a = torch.Tensor(a) #将列表a转成tensor类型
print(a)
print(a.dtype) #查看a中各个元素的数据类型
a = a.type(torch.FloatTensor) #转float32数据类型
print(a)
print(a.dtype)
'''结果'''
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
torch.float32
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
torch.float32
a = torch.Tensor(a) #将列表a转成tensor类型
print(a)
print(a.dtype) #查看a中各个元素的数据类型
a = a.type(torch.DoubleTensor) #转float64数据类型
print(a)
print(a.dtype)
'''结果'''
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
torch.float32
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.], dtype=torch.float64)
torch.float64
a = torch.Tensor(a) #将列表a转成tensor类型
print(a)
print(a.dtype) #查看a中各个元素的数据类型
a = a.type(torch.IntTensor) #转int32数据类型
print(a)
print(a.dtype)
'''结果'''
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
torch.float32
tensor([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], dtype=torch.int32)
torch.int32
a = torch.Tensor(a) #将列表a转成tensor类型
print(a)
print(a.dtype) #查看a中各个元素的数据类型
a = a.type(torch.LongTensor) #转int64数据类型
print(a)
print(a.dtype)
'''结果'''
tensor([ 1., 2., 3., 4., 5., 6., 7., 8., 9., 10.])
torch.float32
tensor([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
torch.int64
三、求个赞就行
文章来源地址https://www.toymoban.com/news/detail-513859.html文章来源:https://www.toymoban.com/news/detail-513859.html
到了这里,关于Pytorch:将列表数据转不同数据类型的Tensor矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!