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实现计算资源图标crc值的方法
Oct 05 Python
python 网络爬虫初级实现代码
Feb 27 Python
python脚本监控docker容器
Apr 27 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
python通过tcp发送xml报文的方法
Dec 28 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
python防止随意修改类属性的实现方法
Aug 21 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
Python手动或自动协程操作方法解析
Jun 22 Python
一篇文章带你搞懂Python类的相关知识
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
将PHP作为Shell脚本语言使用
2006/10/09 PHP
用PHP开发GUI
2006/10/09 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
javascript 操作cookies及正确使用cookies的属性
2009/10/15 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
js中删除数组中的某一元素实例(无下标时)
2017/02/28 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
2种简单的js倒计时方式
2017/10/20 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
Vue路由管理器Vue-router的使用方法详解
2020/02/05 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
专科毕业生就业推荐信
2013/11/01 职场文书
经贸日语专业个人求职信范文
2013/12/28 职场文书
计划生育宣传标语
2014/06/21 职场文书
三问三解心得体会
2014/09/05 职场文书
党的群众路线教育实践活动对照检查材料(教师)
2014/09/24 职场文书
廉洁自律心得体会2016
2016/01/13 职场文书
礼仪培训心得体会
2016/01/22 职场文书
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL