tensor数据类型转换_pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法 - pytorch中文网...

pytorch中张丈量是什么意思呢?torch.Tensor是一种包含单一数据类型元素的多维矩阵。

Torch定义了七种CPU张量类型和八种GPU张量类型,这里我们就只讲解一下CPU中的,其实GPU中只是中间加一个cuda即可,如torch.cuda.FloatTensor:

torch.FloatTensor(2,3) 构建一个2*3 Float类型的张量

torch.DoubleTensor(2,3) 构建一个2*3 Double类型的张量

torch.ByteTensor(2,3) 构建一个2*3 Byte类型的张量

torch.CharTensor(2,3) 构建一个2*3 Char类型的张量

torch.ShortTensor(2,3) 构建一个2*3 Short类型的张量

torch.IntTensor(2,3) 构建一个2*3 Int类型的张量

torch.LongTensor(2,3) 构建一个2*3 Long类型的张量

torch.Tensor是默认的tensor类型(torch.FlaotTensor)的简称。

一、使用独立的函数实现张量类型之间的转换

为了方便测试,我们构建一个新的张量,你要转变成不同的类型只需要根据自己的需求选择即可

tensor = torch.Tensor(3, 5)

torch.long() 将tensor投射为long类型

newtensor = tensor.long()

torch.half()将tensor投射为半精度浮点类型

newtensor = tensor.half()

torch.int()将该tensor投射为int类型

newtensor = tensor.int()

torch.double()将该tensor投射为double类型

newtensor = tensor.double()

torch.float()将该tensor投射为float类型

newtensor = tensor.float()

torch.char()将该tensor投射为char类型

newtensor = tensor.char()

torch.byte()将该tensor投射为byte类型

newtensor = tensor.byte()

torch.short()将该tensor投射为short类型

newtensor = tensor.short()

二、使用torch.type()函数

type(new_type=None, async=False)如果未提供new_type,则返回类型,否则将此对象转换为指定的类型。 如果已经是正确的类型,则不会执行且返回原对象。

用法如下:

self = torch.LongTensor(3, 5)

# 转换为其他类型

print self.type(torch.FloatTensor)

三、使用type_as(tesnor)将张量转换为给定类型的张量。

如果张量已经是正确的类型,则不会执行操作。具体操作方法如下:

self = torch.Tensor(3, 5)

tesnor = torch.IntTensor(2,3)

print self.type_as(tesnor)

原创文章,转载请注明 :pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法 - pytorch中文网

原文出处: https://ptorch.com/news/71.html

问题交流群 :168117787

你可能感兴趣的:(tensor数据类型转换)