zoukankan      html  css  js  c++  java
  • 04-numpy-笔记-transpose

    借鉴代码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中的图像数据张量,一般是四维,分别是(张数,宽度,高度,通道数)
    这句话的意思就是把宽和高转置。自己体会一下。图片顺序和通道顺序是不变的。

  • 相关阅读:
    3.6
    2.26
    2.22
    出差记录(每日食谱)
    关于本博客的样式
    知乎搜索/(引擎)的故事
    【历史/对越自卫反击战】刘立华||我的战地笔记——陵园祭
    如何在Xpath路径中添加变量?如何将字符串传递给Xpath?
    阿里网盘搜索网站汇总
    经济学人下载
  • 原文地址:https://www.cnblogs.com/alexYuin/p/8849715.html
Copyright © 2011-2022 走看看