在进行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)就可以了
网友评论