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网络编程学习笔记(一)
Jun 09 Python
教你用Python脚本快速为iOS10生成图标和截屏
Sep 22 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
python游戏地图最短路径求解
Jan 16 Python
python matplotlib实现双Y轴的实例
Feb 12 Python
Python3数字求和的实例
Feb 19 Python
Django文件上传与下载(FileFlid)
Oct 06 Python
在django中使用apscheduler 执行计划任务的实现方法
Feb 11 Python
Jupyter加载文件的实现方法
Apr 14 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
Python高并发和多线程有什么关系
Nov 14 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中,文件上传
2006/12/06 PHP
PHP编实现程动态图像的创建代码
2008/09/28 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
js怎么覆盖原有方法实现重写
2014/09/04 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
jQuery获取随机颜色的实例代码
2018/05/21 jQuery
Vue无限滑动周选择日期的组件的示例代码
2018/07/18 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
tensorflow学习笔记之简单的神经网络训练和测试
2018/04/15 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Python实现SQL注入检测插件实例代码
2019/02/02 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
汽车运用工程毕业生自荐信
2013/10/29 职场文书
一夜的工作教学反思
2014/02/08 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
幼师辞职信范文
2015/02/27 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书