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单元测试框架unittest使用方法讲解
Apr 13 Python
Python的Django框架中从url中捕捉文本的方法
Jul 20 Python
python利用paramiko连接远程服务器执行命令的方法
Oct 16 Python
Python使用functools实现注解同步方法
Feb 06 Python
Vue的el-scrollbar实现自定义滚动
May 29 Python
python3 对list中每个元素进行处理的方法
Jun 29 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
Aug 27 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
Python实现电视里的5毛特效实例代码详解
May 15 Python
Tensorflow之MNIST CNN实现并保存、加载模型
Jun 17 Python
Python语言规范之Pylint的详细用法
Jun 24 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代码
2007/03/03 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
php使用fputcsv实现大数据的导出操作详解
2020/02/27 PHP
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
JQuery中Ajax()的data参数类型实例分析
2015/12/15 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
2016/05/31 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
微信小程序实现滑动操作代码
2020/04/23 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python中获取网页状态码的两个方法
2014/11/03 Python
tensorflow获取变量维度信息
2018/03/10 Python
浅析python实现动态规划背包问题
2020/12/31 Python
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
青年文明号复核材料
2014/02/11 职场文书
第二课堂活动总结
2014/05/07 职场文书
中国梦团日活动总结
2014/07/07 职场文书
年度优秀员工获奖感言
2014/08/15 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
高中生综合素质自我评价
2015/03/06 职场文书
创建文明城市倡议书
2015/04/28 职场文书
学校食堂管理制度
2015/08/04 职场文书
JS代码编译器Monaco使用方法
2021/06/11 Javascript
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS