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实现从ftp服务器下载文件的方法
Apr 30 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
Jul 04 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
Oct 23 Python
Python如何对XML 解析
Jun 28 Python
python 读取.nii格式图像实例
Jul 01 Python
pandas.DataFrame.drop_duplicates 用法介绍
Jul 06 Python
python如何代码集体右移
Jul 20 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 Python
Python爬虫简单运用爬取代理IP的实现
Dec 01 Python
Python的代理类实现,控制访问和修改属性的权限你都了解吗
Mar 21 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验证码类
2016/05/15 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
使用jQuery轻松实现Ajax的实例代码
2010/08/16 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
JQuery节点元素属性操作方法
2015/06/11 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
2016/01/26 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
2017/07/06 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
详解简单易懂的 ES6 Iterators 指南和示例
2019/09/24 Javascript
Vue 实现html中根据类型显示内容
2019/10/28 Javascript
python选择排序算法的实现代码
2013/11/21 Python
Python 26进制计算实现方法
2015/05/28 Python
Python实现新浪博客备份的方法
2016/04/27 Python
Python正则表达式使用范例分享
2016/12/04 Python
PHP实现发送和接收JSON请求
2018/06/07 Python
Python中的类与类型示例详解
2019/07/10 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
HTML5声音录制/播放功能的实现代码
2018/05/03 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
美国在线面料商店:Fashion Fabrics Club
2020/01/31 全球购物
软件测试工程师结构化面试题库
2016/11/23 面试题
预备党员政审材料
2014/02/04 职场文书
青春励志演讲稿
2014/04/29 职场文书
个人授权委托书样本
2014/09/13 职场文书
志愿者个人总结
2015/03/03 职场文书
python绘制箱型图
2021/04/27 Python
Mysql 设置boolean类型的操作
2021/06/04 MySQL