PyTorch中permute的使用方法


Posted in Python onApril 26, 2022

permute(dims)

将tensor的维度换位。

参数:参数是一系列的整数,代表原来张量的维度。比如三维就有0,1,2这些dimension。

例:

import torch
import numpy    as np

a=np.array([[[1,2,3],[4,5,6]]])

unpermuted=torch.tensor(a)
print(unpermuted.size())  #  ——>  torch.Size([1, 2, 3])

permuted=unpermuted.permute(2,0,1)
print(permuted.size())     #  ——>  torch.Size([3, 1, 2])

 再比如图片img的size比如是(28,28,3)就可以利用img.permute(2,0,1)得到一个size为(3,28,28)的tensor。

利用这个函数permute(0,2,1)可以把Tensor([[[1,2,3],[4,5,6]]]) 转换成

tensor([[[1., 4.],
        [2., 5.],
        [3., 6.]]])

如果使用view,可以得到

tensor([[[1., 2.],
         [3., 4.],
         [5., 6.]]])

附:permute(多维数组,[维数的组合])

比如:

a=rand(2,3,4);  %这是一个三维数组,各维的长度分别为:2,3,4

%现在交换第一维和第二维:

permute(A,[2,1,3])  %变成3*2*4的矩阵

import torch
import numpy    as np
 
a=np.array([[[1,2,3],[4,5,6]]])
 
unpermuted=torch.tensor(a)
print(unpermuted.size())  #  ——>  torch.Size([1, 2, 3])
 
tensor([[[1., 4.],
        [2., 5.],
        [3., 6.]]])
 
permuted=unpermuted.permute(2,0,1)
print(permuted.size())     #  ——>  torch.Size([3, 1, 2])
 
tensor([[[1., 2.],
         [3., 4.],
         [5., 6.]]])

总结

到此这篇关于PyTorch中permute的基本用法的文章就介绍到这了!

Python 相关文章推荐
Python标准异常和异常处理详解
Feb 02 Python
Python 功能和特点(新手必学)
Dec 30 Python
Python处理XML格式数据的方法详解
Mar 21 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
Feb 02 Python
python logging日志模块以及多进程日志详解
Apr 18 Python
自学python的建议和周期预算
Jan 30 Python
python assert的用处示例详解
Apr 01 Python
Python函数和模块的使用总结
May 20 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
Jan 16 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
Python如何给你的程序做性能测试
Jul 29 Python
Python matplotlib 利用随机函数生成变化图形
方法汇总:Python 安装第三方库常用
Apr 26 #Python
Python 统计序列中元素的出现频度
Apr 26 #Python
Python matplotlib安装以及实现简单曲线的绘制
Python爬虫 简单介绍一下Xpath及使用
分享python函数常见关键字
Apr 26 #Python
python和Appium的移动端多设备自动化测试框架
Apr 26 #Python
You might like
PHP个人网站架设连环讲(四)
2006/10/09 PHP
php+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
Linux环境下搭建php开发环境的操作步骤
2013/06/17 PHP
laravel 实现根据字段不同值做不同查询
2019/10/23 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
Vue官方文档梳理之全局配置
2017/11/22 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
如何基于filter实现网站整体变灰功能
2020/04/17 Javascript
JavaScript自定义超时API代码实例
2020/04/30 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python记录程序运行时间的三种方法
2017/07/14 Python
python实现树形打印目录结构
2018/03/29 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
2019/04/28 Python
python内存管理机制原理详解
2019/08/12 Python
Pytorch 的损失函数Loss function使用详解
2020/01/02 Python
基于python实现模拟数据结构模型
2020/06/12 Python
python -v 报错问题的解决方法
2020/09/15 Python
纽约州一群才华横溢的金匠制作而成:Hearth Jewelry
2019/03/22 全球购物
晚宴邀请函范文
2014/01/15 职场文书
规范化管理年活动总结
2014/08/29 职场文书
优秀教研组申报材料
2014/12/26 职场文书
2015年税务稽查工作总结
2015/05/26 职场文书
生死抉择观后感
2015/06/09 职场文书
三八节活动简报
2015/07/20 职场文书
迎国庆主题班会
2015/08/17 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python
Python实现双向链表基本操作
2022/05/25 Python