pytorch: tensor类型的构建与相互转换实例


Posted in Python onJuly 26, 2018

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)

以上这篇pytorch: tensor类型的构建与相互转换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
详解Python中for循环的使用
Apr 14 Python
Python写的一个简单监控系统
Jun 19 Python
CentOS安装pillow报错的解决方法
Jan 27 Python
解决Python requests 报错方法集锦
Mar 19 Python
Python学习笔记之解析json的方法分析
Apr 21 Python
python实现微信发送邮件关闭电脑功能
Feb 22 Python
python3实现小球转动抽奖小游戏
Apr 15 Python
在Django的View中使用asyncio的方法
Jul 12 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
python基于爬虫+django,打造个性化API接口
Jan 21 Python
python函数指定默认值的实例讲解
Mar 29 Python
pytorch中tensor的合并与截取方法
Jul 26 #Python
Python爬虫框架Scrapy常用命令总结
Jul 26 #Python
Python退火算法在高次方程的应用
Jul 26 #Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 #Python
Tensorflow 合并通道及加载子模型的方法
Jul 26 #Python
解决tensorflow测试模型时NotFoundError错误的问题
Jul 26 #Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
Jul 26 #Python
You might like
php a simple smtp class
2007/11/26 PHP
php allow_url_include的应用和解释
2010/04/22 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
JavaScript TO HTML 转换
2006/06/26 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
2013/11/25 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
JS实现自动定时切换的简洁网页选项卡效果
2015/10/13 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JavaScript常用正则函数用法示例
2017/01/23 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
vue slot与传参实例代码讲解
2019/04/28 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
Python random模块用法解析及简单示例
2017/12/18 Python
python开启debug模式的方法
2019/06/27 Python
Django 限制访问频率的思路详解
2019/12/24 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python mysql自增字段AUTO_INCREMENT值的修改方式
2020/05/18 Python
HMV日本官网:全球知名的音乐、DVD和电脑游戏零售巨头
2016/08/13 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
计算机应届毕业生自荐信范文
2014/02/23 职场文书
詹天佑教学反思
2014/04/30 职场文书
2014大学生党员评议个人总结
2014/09/22 职场文书
2014年卫生工作总结
2014/11/27 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
九年级数学教学反思
2016/02/17 职场文书
餐厅开业活动方案
2019/07/08 职场文书
nginx从安装到配置详细说明(安装,安全配置,防盗链,动静分离,配置 HTTPS,性能优化)
2022/02/12 Servers