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实现哈希表
Feb 07 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
Python算法之求n个节点不同二叉树个数
Oct 27 Python
新年快乐! python实现绚烂的烟花绽放效果
Jan 30 Python
如何利用Pyecharts可视化微信好友
Jul 04 Python
Python数据可视化实现正态分布(高斯分布)
Aug 21 Python
python实现拼图小游戏
Feb 22 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
Python numpy矩阵处理运算工具用法汇总
Jul 13 Python
Pytorch 扩展Tensor维度、压缩Tensor维度的方法
Sep 09 Python
python 自动化偷懒的四个实用操作
Apr 11 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实现维护文件代码
2007/06/14 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
Jquery插件写法笔记整理
2012/09/06 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
javascript编写贪吃蛇游戏
2015/07/07 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
jquery捕捉回车键及获取checkbox值与异步请求的方法
2015/12/24 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
Vue常用指令V-model用法
2017/03/08 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
2017/07/17 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
js中数组常用方法总结(推荐)
2019/04/09 Javascript
Element-ui中元素滚动时el-option超出元素区域的问题
2019/05/30 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
python 用opencv实现霍夫线变换
2020/11/27 Python
利用纯html5绘制出来的一款非常漂亮的时钟
2015/01/04 HTML / CSS
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
哈理工毕业生的求职信
2013/12/22 职场文书
人力资源主管职责范本
2014/03/05 职场文书
演讲主持词
2014/03/18 职场文书
节水标语大全
2014/06/11 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
教师节横幅标语
2014/10/08 职场文书
2015年度高中教师工作总结
2015/05/26 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
JavaScript函数柯里化
2021/11/07 Javascript