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 文件读写操作实例详解
Mar 12 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
利用Python生成文件md5校验值函数的方法
Jan 10 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
Python从数据库读取大量数据批量写入文件的方法
Dec 10 Python
使用python绘制二元函数图像的实例
Feb 12 Python
django基于cors解决跨域请求问题详解
Aug 06 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
Python多进程编程常用方法解析
Mar 26 Python
PyInstaller运行原理及常用操作详解
Jun 13 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
如何通过命令行进入python
Jul 06 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 程序员也要学会使用“异常”
2009/06/16 PHP
PHP实现域名whois查询的代码(数据源万网、新网)
2010/02/22 PHP
解析php入库和出库
2013/06/25 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
触屏中的JavaScript事件分析
2015/02/06 Javascript
javascript 实现map集合
2015/04/03 Javascript
javascript性能优化之事件委托实例详解
2015/12/12 Javascript
Vue获取DOM元素样式和样式更改示例
2017/03/07 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
简述pm2常用命令集合及配置文件说明
2019/05/30 Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
2020/04/11 Javascript
python 字典修改键(key)的几种方法
2018/08/10 Python
Python实现去除列表中重复元素的方法总结【7种方法】
2019/02/16 Python
python字典嵌套字典的情况下找到某个key的value详解
2019/07/10 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
Html5 new XMLHttpRequest()监听附件上传进度
2021/01/14 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
机械专业毕业生自荐信
2013/11/02 职场文书
优秀研究生自我鉴定
2013/12/04 职场文书
会计主管岗位职责
2014/01/03 职场文书
全民健身日活动方案
2014/01/29 职场文书
专业求职信撰写要诀
2014/02/18 职场文书
中秋节活动总结
2014/08/29 职场文书
二年级上册数学教学计划
2015/01/20 职场文书
房地产公司工程部经理岗位职责
2015/04/09 职场文书
网吧员工管理制度
2015/08/05 职场文书
远程教育培训心得体会
2016/01/09 职场文书
导游词之山东八大关
2019/12/18 职场文书
MySQL数据库完全卸载的方法
2022/03/03 MySQL
动漫APP软件排行榜前十名,半次元上榜,第一款由腾讯公司推出
2022/03/18 杂记
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js
centos7安装mysql5.7经验记录
2022/05/02 Servers