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代码打包为jar软件的简单方法
Aug 04 Python
django之常用命令详解
Jun 30 Python
Python利用itchat对微信中好友数据实现简单分析的方法
Nov 21 Python
Django跨域请求问题的解决方法示例
Jun 16 Python
Python实现的特征提取操作示例
Dec 03 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
python如何将两个txt文件内容合并
Oct 18 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
pytorch实现Tensor变量之间的转换
Feb 17 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
pytorch实现线性回归以及多元回归
Apr 11 Python
pytorch 带batch的tensor类型图像显示操作
May 20 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
php通用防注入程序 推荐
2011/02/26 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
javascript实现的网页局布刷新效果
2008/12/01 Javascript
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
javaScript 删除字符串空格多种方法小结
2012/10/24 Javascript
如何在JavaScript中实现私有属性的写类方式(一)
2013/12/04 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
RequireJs的使用详解
2017/02/19 Javascript
在Vue中使用Compass的方法
2018/03/02 Javascript
JS实现点击掉落特效
2021/01/29 Javascript
[49:05]Newbee vs TNC 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
通过mod_python配置运行在Apache上的Django框架
2015/07/22 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
python爬取拉勾网职位数据的方法
2018/01/24 Python
Python连接Mssql基础教程之Python库pymssql
2018/09/16 Python
CSS3 Media Queries(响应式布局可以让你定制不同的分辨率和设备)
2013/06/06 HTML / CSS
详解HTML5中的Communication API基本使用方法
2016/01/29 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
艺术家策划的室内设计:Curious Egg
2019/03/06 全球购物
请说出以下代码输出什么
2013/08/30 面试题
音乐教学案例
2014/01/30 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
2014年医生工作总结
2014/11/21 职场文书
Python WSGI 规范简介
2021/04/11 Python
详解python的内存分配机制
2021/05/10 Python
“鬼灭之刃”热度不减,其成功背后的原因是什么?
2022/03/22 日漫