python矩阵转置_对python矩阵转置transpose的实例讲解「建议收藏」

python矩阵转置_对python矩阵转置transpose的实例讲解「建议收藏」对python矩阵转置transpose的实例讲解在读图片时,会用到这么的一段代码:image_vector_len=np.prod(image_size)#总元素大小,3*55*47img=Image.open(path)arr_img=np.asarray(img,dtype=’float64′)arr_img=arr_img.transpose(2,0,1).reshape…

大家好,又见面了,我是你们的朋友全栈君。

python矩阵转置transpose的实例讲解

在读图片时,会用到这么的一段代码:

image_vector_len = np.prod(image_size)#总元素大小,3*55*47

img = Image.open(path)

arr_img = np.asarray(img, dtype=’float64′)

arr_img = arr_img.transpose(2,0,1).reshape((image_vector_len, ))# 47行,55列,每个点有3个元素rgb。再把这些元素一字排开

transpose是什么意识呢? 看如下例子:

arr1 = array([[[ 0, 1, 2, 3],

[ 4, 5, 6, 7]],

[[ 8, 9, 10, 11],

[12, 13, 14, 15]]])

这是原来的矩阵。如果对其进行转置,执行arr2 = arr1.transpose((1,0,2))

得到:

array([[[ 0, 1, 2, 3],

[ 8, 9, 10, 11]],

[[ 4, 5, 6, 7],

[12, 13, 14, 15]]])

过程是怎样的?

arr1.shape 应该是(2, 2, 4) 意为 2维,2*4矩阵

arr1.transpose(*args) 里面的参数,可以这么理解,他是调换arr1.shape的顺序,咱来给arr1.shape标一下角标哈,(2[0], 2[1], 4[2]) [ ] 里是shape的索引,对吧,

transpose((1, 0, 2)) 的意思是 按照这个顺序 重新设置shape 也就是 (2[1], 2[0], 4[2])

虽然看起来 变换前后的shape都是 2,2,4 , 但是问题来了,transpose是转置

shape按照(1,0,2)的顺序重新设置了, array里的所有元素 也要按照这个规则重新组成新矩阵

比如 8 在arr1中的索引是 (1, 0, 0) 那么按照刚才的变换规则,就是 (0, 1, 0) 看看跟你结果arr2的位置一样了吧,依此类推..

另外一个知识点:

对于一维的shape,转置是不起作用的,举例:

x=linspace(0,4,5)

#array([0.,1.,2.,3.,4.])

y=transpose(x)  # 会转置失败。

如果想正确使用的话:

x.shape=(5,1)

y=transpose(x)  #就可以了

以上这篇对python 矩阵转置transpose的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考

完 谢谢观看

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137298.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • mac phpstorm 激活码2021(最新序列号破解)

    mac phpstorm 激活码2021(最新序列号破解),https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 不确定度用计算机怎么算,算A类不确定度用计算器该怎样按[通俗易懂]

    不确定度用计算机怎么算,算A类不确定度用计算器该怎样按[通俗易懂]不可以。根号也只能显示平方根,立方根以上就别想了,这三次方程解出来不知道是几次方根。这种计算器下面那个L-R=0是用来检验的,说明就不是用公式解的,估计是二分法或者什么其它近似解法,L-R=0只是在计算器内部算法允许的精度范围内保证L-R=0,所以肯定不支持根号。A类不确定度的计算方法。n=6时,u(a)=S(x)。数据平均值设为q。用贝塞尔公式S(x)*S(x)=[(X1-q)*(X1-q)+(…

  • Oracle Sqlplus 运行环境 login.sql 设置[通俗易懂]

    Oracle Sqlplus 运行环境 login.sql 设置[通俗易懂]在运行Sqlplus时经常需要对运行环境进行设置,如果每次输入都要调整参数会比较麻烦,因此可以利用Oracle提供的glogin.sql、login.sql这两个文件对Sqlplus进行环境初始化。

  • candump命令_生成dump文件命令

    candump命令_生成dump文件命令hexdump以ASCII、十进制、十六进制或八进制显示文件内容。

  • 焦点科技怎么老是招人_现在的白内障手术和过去有何不同?晶体该怎么选?(小刀视频)…

    焦点科技怎么老是招人_现在的白内障手术和过去有何不同?晶体该怎么选?(小刀视频)…■文|赵小刀我是赵小刀,我是一名眼科医生。很多人可能在10年前或者20年前就做过白内障手术了,可能在当时也花了几千块钱,不算小数目。那过去的白内障手术和现在白内障手术有什么不同?人工晶体的种类有哪些,又该怎么选呢?请看节目。请直接点击视频https://www.zhihu.com/video/1201468244097499136白内障手术真的进步了20年前的白内障手术,其实对医生来说非常简单——…

  • asp.net中英文转换

    asp.net中英文转换一、中英文切换主要是依靠资源文件(Resources):资源文件名称格式:"页面名称加后缀.resx"      资源文件分为本地[App_LocalResources]和全球化[App_GlobalResources]二、实现过程:  本地资源:1.添加文件夹[App_LocalResources]                    2.创建以.resx结尾的资源文件   …

    2022年10月24日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号