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在linux系统下获取系统内存使用情况的方法
May 11 Python
Python调用ctypes使用C函数printf的方法
Aug 23 Python
浅谈python函数之作用域(python3.5)
Oct 27 Python
Python 实现使用dict 创建二维数据、DataFrame
Apr 13 Python
Python当中的array数组对象实例详解
Jun 12 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Python综合应用名片管理系统案例详解
Jan 03 Python
Python中的 ansible 动态Inventory 脚本
Jan 19 Python
如何在windows下安装Pycham2020软件(方法步骤详解)
May 03 Python
Matplotlib 绘制饼图解决文字重叠的方法
Jul 24 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
python opencv角点检测连线功能的实现代码
Nov 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 magic quotes的详解
2013/06/17 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
Draggable Elements 元素拖拽功能实现代码
2011/03/30 Javascript
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
javascript/jquery获取地址栏url参数的方法
2014/03/05 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
函数window.open实现关闭所有的子窗口
2015/08/03 Javascript
web前端开发JQuery常用实例代码片段(50个)
2015/08/28 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
javascript基本算法汇总
2016/03/09 Javascript
全面了解JavaScirpt 的垃圾(garbage collection)回收机制
2016/07/11 Javascript
Ajax 加载数据 练习代码
2017/01/05 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
vue基于element的区间选择组件
2018/09/07 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
Python实现合并字典的方法
2015/07/07 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python实现简单生成验证码功能【基于random模块】
2018/02/10 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
2020/06/28 Python
Python 爬虫性能相关总结
2020/08/03 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
Python try except else使用详解
2021/01/12 Python
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
酷瑞网络科技面试题
2012/03/30 面试题
《狼》教学反思
2014/03/02 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
女性健康讲座主持词
2015/07/04 职场文书
国家助学金受助感言
2015/08/01 职场文书
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers