pytorch: tensor类型的构建与相互转换实例
Summary
主要包括以下三种途径:
使用独立的函数;
使用torch.type()函数;
使用type_as(tesnor)将张量转换为给定类型的张量。
使用独立函数
importtorch tensor=torch.randn(3,5) print(tensor) #torch.long()将tensor投射为long类型 long_tensor=tensor.long() print(long_tensor) #torch.half()将tensor投射为半精度浮点类型 half_tensor=tensor.half() print(half_tensor) #torch.int()将该tensor投射为int类型 int_tensor=tensor.int() print(int_tensor) #torch.double()将该tensor投射为double类型 double_tensor=tensor.double() print(double_tensor) #torch.float()将该tensor投射为float类型 float_tensor=tensor.float() print(float_tensor) #torch.char()将该tensor投射为char类型 char_tensor=tensor.char() print(char_tensor) #torch.byte()将该tensor投射为byte类型 byte_tensor=tensor.byte() print(byte_tensor) #torch.short()将该tensor投射为short类型 short_tensor=tensor.short() print(short_tensor)
-0.5841-1.63700.13530.6334-3.0761 -0.26280.12450.86260.4095-0.3633 1.36050.5055-2.00900.8933-0.6267 [torch.FloatTensorofsize3x5] 0-100-3 00000 10-200 [torch.LongTensorofsize3x5] -0.5840-1.63670.13530.6333-3.0762 -0.26270.12450.86280.4094-0.3633 1.36040.5054-2.00980.8936-0.6265 [torch.HalfTensorofsize3x5] 0-100-3 00000 10-200 [torch.IntTensorofsize3x5] -0.5841-1.63700.13530.6334-3.0761 -0.26280.12450.86260.4095-0.3633 1.36050.5055-2.00900.8933-0.6267 [torch.DoubleTensorofsize3x5] -0.5841-1.63700.13530.6334-3.0761 -0.26280.12450.86260.4095-0.3633 1.36050.5055-2.00900.8933-0.6267 [torch.FloatTensorofsize3x5] 0-100-3 00000 10-200 [torch.CharTensorofsize3x5] 025500253 00000 1025400 [torch.ByteTensorofsize3x5] 0-100-3 00000 10-200 [torch.ShortTensorofsize3x5]
其中,torch.Tensor、torch.rand、torch.randn均默认生成torch.FloatTensor型:
importtorch tensor=torch.Tensor(3,5) assertisinstance(tensor,torch.FloatTensor) tensor=torch.rand(3,5) assertisinstance(tensor,torch.FloatTensor) tensor=torch.randn(3,5) assertisinstance(tensor,torch.FloatTensor)
使用torch.type()函数
type(new_type=None,async=False)
importtorch tensor=torch.randn(3,5) print(tensor) int_tensor=tensor.type(torch.IntTensor) print(int_tensor)
-0.44490.03320.51870.12712.2303 1.3961-0.15420.8498-0.3438-0.2834 -0.55540.16841.52162.45270.0379 [torch.FloatTensorofsize3x5] 00002 10000 00120 [torch.IntTensorofsize3x5]
使用type_as(tesnor)将张量转换为给定类型的张量
importtorch tensor_1=torch.FloatTensor(5) tensor_2=torch.IntTensor([10,20]) tensor_1=tensor_1.type_as(tensor_2) assertisinstance(tensor_1,torch.IntTensor)
以上这篇pytorch:tensor类型的构建与相互转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。