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+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
Python函数参数操作详解
Aug 03 Python
快速排序的四种python实现(推荐)
Apr 03 Python
python3中类的继承以及self和super的区别详解
Jun 26 Python
如何通过Python实现标签云算法
Jul 02 Python
Python实现代码统计工具
Sep 19 Python
python hash每次调用结果不同的原因
Nov 21 Python
python实现从ftp服务器下载文件
Mar 03 Python
Python如何爬取51cto数据并存入MySQL
Aug 25 Python
python制作抽奖程序代码详解
Jan 15 Python
Python图片处理之图片裁剪教程
May 27 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 面试碰到过的问题 在此做下记录
2011/06/09 PHP
Yii2框架使用计划任务的方法
2016/05/25 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
Javascript之旅 对象的原型链之由来
2010/08/25 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
Node.js模块加载详解
2014/08/16 Javascript
使用JQuery库提供的扩展功能实现自定义方法
2014/09/09 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
Node.js环境下Koa2添加travis ci持续集成工具的方法
2017/06/19 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
实例详解vue.js浅度监听和深度监听及watch用法
2018/08/16 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
使用koa-log4管理nodeJs日志笔记的使用方法
2018/11/30 NodeJs
关于js陀螺仪的理解分析
2019/04/11 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
浅析Python pandas模块输出每行中间省略号问题
2018/07/03 Python
Python基础学习之基本数据结构详解【数字、字符串、列表、元组、集合、字典】
2019/06/18 Python
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
党的群众路线批评与自我批评发言稿
2014/10/16 职场文书
车间质检员岗位职责
2015/04/08 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
十大公认最好看的动漫:《咒术回战》在榜,《钢之炼金术师》第一
2022/03/18 日漫
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js