python中reshape(100,)和reshape(100,1)有什麼區別

在進行array的相關運算時通常需要對array進行reshape操作,但是之前一直不明白shape(100,1)和shape(100,)有什麼區別,爲了方便理解,我們用一個例子來加以說明。

import numpy as np
a = np.array([[2,,3, 5 ], [2, 4, 1]])
a.shape

輸出a的形狀爲(2,3),即2行3列
我們對a進行reshape

b = a.reshape((6,))
b

輸出爲 :
array([2, 3, 5, 2, 4, 1])

若我們將它reshape爲(6,1)時

c = a.reshape((6,1))
c

輸出爲:
array([[2],
[3],
[5],
[2],
[4],
[1]])

從結果中我們可以看到reshape(100,1)輸出的還是一個二維數組,如果reshape(100,)則結果已經被壓縮到了一維。
因此在CNN後面接全連接層的時候,如果需要對數據維度進行壓縮,使用reshape(100, 1)就可以了

本文原載於我的簡書博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章