pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法

Posted Chris-Chang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法相关的知识,希望对你有一定的参考价值。

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

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

torch.FloatTensor(2,3) 构建一个23 Float类型的张量
torch.DoubleTensor(2,3)构建一个23 Double类型的张量
torch.ByteTensor(2,3)构建一个23 Byte类型的张量
torch.CharTensor(2,3) 构建一个23 Char类型的张量
torch.ShortTensor(2,3)构建一个23 Short类型的张量
torch.IntTensor(2,3)构建一个23 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

以上是关于pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法的主要内容,如果未能解决你的问题,请参考以下文章

pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法

pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法

pytorch张量torch.Tensor类型的构建与相互转换以及torch.type()和torch.type_as()的用法

PyTorch 1.0 中文文档:torch.Tensor

PyTorch中tensor介绍

Pytorch中的tensor常用操作