91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

對python 矩陣轉置transpose的實例講解

發布時間:2020-10-13 10:36:28 來源:腳本之家 閱讀:155 作者:jingxian 欄目:開發技術

在讀圖片時,會用到這么的一段代碼:

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的實例講解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泌阳县| 台州市| 江安县| 张家川| 如皋市| 高清| 即墨市| 贡山| 呼玛县| 杭锦旗| 邢台市| 昌平区| 石河子市| 焉耆| 班玛县| 普陀区| 保靖县| 油尖旺区| 琼海市| 苏州市| 黎平县| 化隆| 沂水县| 云阳县| 同仁县| 宜君县| 湟中县| 和硕县| 阿城市| 建德市| 沽源县| 辽阳县| 定陶县| 德兴市| 远安县| 平和县| 乌鲁木齐市| 正镶白旗| 阳泉市| 桓仁| 云霄县|