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()的用法