借鉴代码https://blog.csdn.net/xiongchengluo1129/article/details/79017142

吐槽一下CSDN的垃圾广告。。

这是转置,所以1维(向量)和2维(矩阵)的转置的意义很直观,就是数学上学的。

难的就是超过三维的张量,怎么转置。

先看结果:

>>> import numpy as np
>>> three=np.arange(18).reshape(2,3,3)
>>> three
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]], [[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]]])
>>> three.transpose()
array([[[ 0, 9],
[ 3, 12],
[ 6, 15]], [[ 1, 10],
[ 4, 13],
[ 7, 16]], [[ 2, 11],
[ 5, 14],
[ 8, 17]]])
>>>
three本身shape是(2,3,3),这个先看清楚了。
然后,transpose不给参数,默认是从(0,1,2)->(2,1,0)【以上的0,1,2表示的维度的序号】
所以,three.transpose的结果,最外围(第一维度)就是3的元素(行列其实无所谓,是吧)
自己画画树状图,比较比较,就很清楚了。 这不是重点,重点是怎么用。
在深度学习中,常见这样的表达:
 img_y = np.transpose(img_x, (0,2,1,3))  
TensorFlow中的图像数据张量,一般是四维,分别是(张数,宽度,高度,通道数)
这句话的意思就是把宽和高转置。自己体会一下。图片顺序和通道顺序是不变的。

04-numpy-笔记-transpose的更多相关文章

  1. JavaScript基础第04天笔记

    JavaScript基础第04天笔记 1 - 数组 1.1 数组的概念 数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式. 数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以 ...

  2. Python Numpy中transpose()函数的使用

    在Numpy对矩阵的转置中,我们可以用transpose()函数来处理. 这个函数的运行是非常反常理的,可能会令人陷入思维误区. 假设有这样那个一个三维数组(2*4*2): array ([[[ 0, ...

  3. python numpy的transpose函数用法

    #MXNET的N*C*H*W在numpy打印时比较直观#mxnet卷积层# 输入数据格式是:batch * inchannel * height * width# 输出数据格式是:batch * ou ...

  4. 使用ubuntun16.04代码笔记

    (1)cd  /代表到根目录下面:ls表示将盘中内容列出:cd  /home表是打开根目录下的home文件夹:(注意:凡是根目录下的文件夹前面都要加 /) (2)快捷键方式:可以用tab自动补全 (1 ...

  5. numpy中transpose和swapaxes函数讲解

    1 transpose() 这个函数如果括号内不带参数,就相当于转置,和.T效果一样,而今天主要来讲解其带参数. 我们看如下一个numpy的数组: arr=np.arange(16).reshape( ...

  6. numpy中transpose的功能

    看了网上一堆解释,有用相互交换来解释的,我看了半天也看不出所以然来.心想着自己试验一下. numpy.transpose的用法很简单:假如你有一个四维的数组,那么四个维度就是0,1,2,3.风格会像下 ...

  7. NumPy笔记-ndarray

    ndarray,N维数组对象(矩阵) 所有元素必须是相同类型 ndim属性,维度个数 shape属性,各维度大小 dtype属性,数据类型 创建ndarray np.array(collection) ...

  8. python numpy笔记:给matlab使用者

    利用Numpy,python可以进行有效的科学计算.本文给过去常用matlab,现在正学习Numpy的人. 在进行矩阵运算等操作时,使用array还是matrix?? 简短的回答,更多的时候使用arr ...

  9. ubuntu 11.04安装笔记

    首先,本文查询了网络中各位大大的经验共享,特别是<UltraISO制作U盘启动Ubuntu 8.10 LiveCD>,地址在http://blog.sina.com.cn/s/blog_5 ...

  10. python numpy笔记(重要)

    1.np.array 的shape (2,)与(2,1)含义 ndarray.shape:数组的维度.为一个表示数组在每个维度上大小的整数元组.例如二维数组中,表示数组的“行数”和“列数”. ndar ...

随机推荐

  1. 17. 抽象建模能力&发散思维能力&综合(5)

    抽象建模能力 题一:[扑克牌顺子] LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽 ...

  2. 线性结构之习题选讲-ReversingLinkedList

    目录 一.什么是抽象的链表 二.单链表的逆转 三.测试数据 3.1 边界测试 更新.更全的<数据结构与算法>的更新网站,更有python.go.人工智能教学等着你:https://www. ...

  3. 被“org.springframework.boot.web.support.SpringBootServletInitializer;”耽搁的两天

    org.springframework.boot.web.support.SpringBootServletInitializer 改为: org.springframework.boot.conte ...

  4. LeetCode 733: 图像渲染 flood-fill

    题目: 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. An image is represented by a 2-D array of int ...

  5. JeeSite | 访问控制权限

    在各种后台系统中都会涉及到权限的管控,从功能权限的管控,到数据权限的管控,都是为了让系统的在使用的过程中更加的安全.功能权限管控是对针对不同的角色可以进行不同的功能操作,而数据权限管控是针对不同的角色 ...

  6. RStudio 不中断下载依赖包

    修改下载方式:

  7. nginx的6种负载均衡策略

    在服务器集群中,Nginx起到一个反向代理服务器的作用.为了避免单独一个服务器压力过大导致服务器奔溃,就需要将不同用户的请求转发给不同给不同的服务器,保证集群中的每一台服务器都能正常运作,这种机制就叫 ...

  8. CentOS 8 换源,设置dnf / yum镜像

    aliyun更新了centos8的说明 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos- ...

  9. VOC数据集 目标检测

    最近在做与目标检测模型相关的工作,很多都要求VOC格式的数据集. PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛, P ...

  10. 用guava快速打造两级缓存能力

    首先,咱们都有一共识,即可以使用缓存来提升系统的访问速度! 现如今,分布式缓存这么强大,所以,大部分时候,我们可能都不会去关注本地缓存了! 而在一起高并发的场景,如果我们一味使用nosql式的缓存,如 ...