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字符串替换示例
Apr 24 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
python 函数内部修改外部变量的方法
Dec 18 Python
Python 画出来六维图
Jul 26 Python
python开头的coding设置方法
Aug 08 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
python Event事件、进程池与线程池、协程解析
Oct 25 Python
python实现按首字母分类查找功能
Oct 31 Python
Python连接字符串过程详解
Jan 06 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
Python抓包并解析json爬虫的完整实例代码
Nov 03 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新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
JQuery jsonp 使用示例代码
2009/08/12 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
js实现的复制兼容chrome和IE
2014/04/03 Javascript
js 调用百度地图api并在地图上进行打点添加标注
2014/05/13 Javascript
JS+DIV+CSS实现的经典标签切换效果代码
2015/09/14 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
js中作用域的实例解析
2017/03/16 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
python 实现文件的递归拷贝实现代码
2012/08/02 Python
Python使用Flask框架获取当前查询参数的方法
2015/03/21 Python
Python切换pip安装源的方法详解
2016/11/18 Python
《诺贝尔》教学反思
2014/02/17 职场文书
业务员简历自我评价
2014/03/06 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
2015元旦联欢晚会结束语
2014/12/14 职场文书
幼儿园端午节活动总结
2015/05/05 职场文书
python基础学习之生成器与文件系统知识总结
2021/05/25 Python
MYSQL如何查看进程和kill进程
2022/03/13 MySQL
Python Django / Flask如何使用Elasticsearch
2022/04/19 Python