在为keras增加一个全连接层时,常常不清楚输入的shape是什么,如:
model[net].add(Dense(512, input_shape=(40, )))
等价于:
model[net].add(Dense(512, input_dim=40))
此处input_shape为 (40, )
又如:
model[net].add(Dense(512, input_shape=(40, 1)))
这两个区别???
或者增加一个Conv1D来提取特征,如:
model[net].add(Conv1D(40, 3, 1, input_shape=(40, 1)))
此处区别可通过查看具体数据格式来区分:
import numpy as np
a = np.array([0, 1, 2, 3])
b = np.array([[0], [1], [2], [3]])
c = np.array([[0, 1, 2, 3]])
print(a.shape)
print(b.shape)
print(c.shape)
结果为:
(4,)
(4, 1)
(1, 4)