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中os和shutil模块实用方法集锦
May 13 Python
Python中用memcached来减少数据库查询次数的教程
Apr 07 Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 Python
Python编程之序列操作实例详解
Jul 22 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
Oct 29 Python
便捷提取python导入包的属性方法
Oct 15 Python
使用Python实现微信提醒备忘录功能
Dec 04 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
python实现最大子序和(分治+动态规划)
Jul 05 Python
Python虚拟环境venv用法详解
May 25 Python
django rest framework 过滤时间操作
Jul 12 Python
Python 实现劳拉游戏的实例代码(四连环、重力四子棋)
Mar 03 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中抽象类和接口的概念以及区别
2013/06/27 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
PHP中echo,print_r与var_dump区别分析
2014/09/29 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
thinkphp配置文件路径的实现方法
2016/08/30 PHP
laravel框架实现后台登录、退出功能示例
2019/10/31 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
基于jquery实现百度新闻导航菜单滑动动画
2016/03/15 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
微信小程序 详解页面跳转与返回并回传数据
2017/02/13 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
2021/01/07 Vue.js
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
python编程实现希尔排序
2017/04/13 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
使用python实现http及ftp服务进行数据传输的方法
2018/10/26 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
印度低票价航空公司:GoAir
2017/10/11 全球购物
美国眼镜网站:LensCrafters
2020/01/19 全球购物
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
大学生简单自荐信
2013/11/10 职场文书
总裁助理岗位职责
2014/02/17 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
初中政教处工作总结
2015/08/12 职场文书
早上好问候语大全
2015/11/10 职场文书
导游词之扬州大明寺
2019/10/09 职场文书