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中的分片与截断序列
Aug 09 Python
从头学Python之编写可执行的.py文件
Nov 28 Python
浅谈使用Python内置函数getattr实现分发模式
Jan 22 Python
详解flask表单提交的两种方式
Jul 21 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
pyhanlp安装介绍和简单应用
Feb 22 Python
详解pandas数据合并与重塑(pd.concat篇)
Jul 09 Python
python绘制玫瑰的实现代码
Mar 02 Python
Python使用Pyqt5实现简易浏览器(最新版本测试过)
Apr 27 Python
重写django的model下的objects模型管理器方式
May 15 Python
selenium.webdriver中add_argument方法常用参数表
Apr 08 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
SSI指令
2006/11/25 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
Nigma vs Alliance BO5 第一场2.14
2021/03/10 DOTA
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
Javascript中封装window.open解决不兼容问题
2014/09/28 Javascript
JavaScript闭包详解
2015/02/02 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
vue实现图片按比例缩放问题操作
2020/08/11 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
Python中将dataframe转换为字典的实例
2018/04/13 Python
PyQT实现多窗口切换
2018/04/20 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
Python中Numpy ndarray的使用详解
2019/05/24 Python
Python confluent kafka客户端配置kerberos认证流程详解
2020/10/12 Python
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
微软中国官方商城:Microsoft Store中国
2018/10/12 全球购物
简历中的自我评价范文
2014/02/05 职场文书
啦啦队口号大全
2014/06/16 职场文书
2016全国“质量月”活动标语口号
2015/12/26 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫