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多进程通信Queue、Pipe、Value、Array实例
Nov 21 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
python中偏函数partial用法实例分析
Jul 08 Python
使用python在本地电脑上快速处理数据
Jun 22 Python
Windows 64位下python3安装nltk模块
Sep 19 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
Python实现的微信红包提醒功能示例
Aug 22 Python
python飞机大战pygame游戏框架搭建操作详解
Dec 17 Python
python构造函数init实例方法解析
Jan 19 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
python实现人性化显示金额数字实例详解
Sep 25 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和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
Laravel5框架添加自定义辅助函数的方法
2018/08/01 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
jquery解析xml字符串示例分享
2014/03/25 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
jQuery插件扩展测试实例
2016/06/21 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
javascript实现下雨效果
2017/03/27 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
vue+element-ui实现表格编辑的三种实现方式
2018/10/31 Javascript
使用 node.js 模仿 Apache 小部分功能
2019/07/07 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
[13:18]《一刀刀一天》之DOTA全时刻21:详解TI新赛制 A队再露獠牙
2014/06/24 DOTA
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python实现根据图标提取分类应用程序实例
2014/09/28 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
python中将\\uxxxx转换为Unicode字符串的方法
2018/09/06 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
2019/06/12 Python
Booking.com荷兰:全球酒店网上预订
2017/08/22 全球购物
心得体会怎么写
2013/12/30 职场文书
幼儿园母亲节活动方案
2014/03/10 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
拉歌口号大全
2014/06/13 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
春节晚会开场白
2015/05/29 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书