码迷,mamicode.com
首页 > 其他好文 > 详细

04-numpy-笔记-transpose

时间:2018-04-15 22:49:56      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:重点   tensor   笔记   就是   垃圾   bsp   log   通道数   广告   

借鉴代码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

标签:重点   tensor   笔记   就是   垃圾   bsp   log   通道数   广告   

原文地址:https://www.cnblogs.com/alexYuin/p/8849715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!