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文件操作类操作实例详解
Jul 11 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
Apr 30 Python
python读写LMDB文件的方法
Jul 02 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
基于python3监控服务器状态进行邮件报警
Oct 19 Python
使用Python的Turtle库绘制森林的实例
Dec 18 Python
Python JSON编解码方式原理详解
Jan 20 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 Python
Pycharm Plugins加载失败问题解决方案
Nov 28 Python
Python: glob匹配文件的操作
Dec 11 Python
如何用Matlab和Python读取Netcdf文件
Feb 19 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支持页面回退的两种方法
2008/01/10 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP使用pear自带的mail类库发邮件的方法
2015/07/08 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
关于实现代码语法标亮 dp.SyntaxHighlighter
2007/02/02 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
JavaScript DOM 编程艺术(第2版)读书笔记(JavaScript的最佳实践)
2013/10/01 Javascript
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
2014/06/06 Javascript
RequireJS简易绘图程序开发
2016/10/28 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
javaScript之split与join的区别(详解)
2017/11/08 Javascript
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
python和C语言混合编程实例
2014/06/04 Python
简单学习Python time模块
2016/04/29 Python
Anaconda 离线安装 python 包的操作方法
2018/06/11 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
python中几种自动微分库解析
2019/08/29 Python
解析python实现Lasso回归
2019/09/11 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
2021/02/03 Python
阿迪达斯加拿大官网:Adidas加拿大
2016/08/25 全球购物
火山动力Java笔试题
2014/06/26 面试题
工商管理专业实习大学生自我鉴定
2013/09/19 职场文书
超市5.1促销活动
2014/01/15 职场文书
省优秀教师事迹材料
2014/01/30 职场文书
仓管岗位职责范本
2014/02/08 职场文书
家长对孩子的感言
2014/03/10 职场文书
《庐山的云雾》教学反思
2014/04/22 职场文书
房屋维修协议书范本
2014/09/25 职场文书
我的中国梦主题班会
2015/08/14 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书