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)就可以了

本文原载于我的简书博客

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