pytorch: tensor类型的构建与相互转换实例
作者:JNingWei 时间:2023-06-14 09:22:57
Summary
主要包括以下三种途径:
使用独立的函数;
使用torch.type()函数;
使用type_as(tesnor)将张量转换为给定类型的张量。
使用独立函数
import torch
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.6370 0.1353 0.6334 -3.0761
-0.2628 0.1245 0.8626 0.4095 -0.3633
1.3605 0.5055 -2.0090 0.8933 -0.6267
[torch.FloatTensor of size 3x5]
0 -1 0 0 -3
0 0 0 0 0
1 0 -2 0 0
[torch.LongTensor of size 3x5]
-0.5840 -1.6367 0.1353 0.6333 -3.0762
-0.2627 0.1245 0.8628 0.4094 -0.3633
1.3604 0.5054 -2.0098 0.8936 -0.6265
[torch.HalfTensor of size 3x5]
0 -1 0 0 -3
0 0 0 0 0
1 0 -2 0 0
[torch.IntTensor of size 3x5]
-0.5841 -1.6370 0.1353 0.6334 -3.0761
-0.2628 0.1245 0.8626 0.4095 -0.3633
1.3605 0.5055 -2.0090 0.8933 -0.6267
[torch.DoubleTensor of size 3x5]
-0.5841 -1.6370 0.1353 0.6334 -3.0761
-0.2628 0.1245 0.8626 0.4095 -0.3633
1.3605 0.5055 -2.0090 0.8933 -0.6267
[torch.FloatTensor of size 3x5]
0 -1 0 0 -3
0 0 0 0 0
1 0 -2 0 0
[torch.CharTensor of size 3x5]
0 255 0 0 253
0 0 0 0 0
1 0 254 0 0
[torch.ByteTensor of size 3x5]
0 -1 0 0 -3
0 0 0 0 0
1 0 -2 0 0
[torch.ShortTensor of size 3x5]
其中,torch.Tensor、torch.rand、torch.randn 均默认生成 torch.FloatTensor型 :
import torch
tensor = torch.Tensor(3, 5)
assert isinstance(tensor, torch.FloatTensor)
tensor = torch.rand(3, 5)
assert isinstance(tensor, torch.FloatTensor)
tensor = torch.randn(3, 5)
assert isinstance(tensor, torch.FloatTensor)
使用torch.type()函数
type(new_type=None, async=False)
import torch
tensor = torch.randn(3, 5)
print(tensor)
int_tensor = tensor.type(torch.IntTensor)
print(int_tensor)
-0.4449 0.0332 0.5187 0.1271 2.2303
1.3961 -0.1542 0.8498 -0.3438 -0.2834
-0.5554 0.1684 1.5216 2.4527 0.0379
[torch.FloatTensor of size 3x5]
0 0 0 0 2
1 0 0 0 0
0 0 1 2 0
[torch.IntTensor of size 3x5]
使用type_as(tesnor)将张量转换为给定类型的张量
import torch
tensor_1 = torch.FloatTensor(5)
tensor_2 = torch.IntTensor([10, 20])
tensor_1 = tensor_1.type_as(tensor_2)
assert isinstance(tensor_1, torch.IntTensor)
来源:https://blog.csdn.net/JNingWei/article/details/79849600
标签:pytorch,tensor,转换
0
投稿
猜你喜欢
Asp下Access无法更新的解决方法
2012-12-04 20:19:35
FrontPage2002简明教程八:站点的管理
2008-09-17 11:36:00
sqlserver获取当前日期的最大时间值
2011-09-30 11:44:50
mysql 忘记root密码
2010-12-14 14:50:00
Oracle 日期的一些简单使用
2009-08-05 20:42:00
异步加载Google Adsense 更新到Wordpress 2.62
2008-09-11 13:09:00
丰富段落里的标签
2008-03-16 14:11:00
ASP教程:制作登陆验证页面程序
2008-10-23 15:00:00
asp压缩access数据库方法代码
2008-08-08 12:22:00
Oracle RMAN快速入门指南
2010-07-18 12:50:00
asp如何在约定时间显示特定的提示信息?
2010-06-28 16:52:00
ASP无组件上载,带进度条,多文件上载
2008-10-29 10:03:00
DW CS4初步试用感受
2008-05-30 12:17:00
JavaScript 各种动画渐变效果
2008-09-02 10:38:00
服务端XMLHTTP(ServerXMLHTTP in ASP)基本应用(下)
2008-11-11 12:59:00
MySQL中与NULL值有关的疑难问题
2008-11-24 12:47:00
官方是这样定义 DOCTYPE HTML PUBLIC 的
2007-05-31 09:43:00
Dreamweaver MX 2004新特点
2008-02-03 11:35:00
CSS3的新特性
2009-03-23 17:46:00
写SQL语句的经验
2009-04-13 16:02:00