keras密集层中的输入输出尺寸

时间:2020-05-01 17:04:10

标签: tensorflow keras

我正在尝试在keras中实现密集层。输入是使用2个通道进行的EEG记录,每个通道由8点的向量组成,训练点的总数为17。y也是17点。

我用过

x=x.reshape(17,2,8,1)
y=y.reshape(17,1,1,1)

model.add(Dense(1, input_shape=(2,8,1), activation='relu'))
print(model.summary())
model.compile(loss='sparse_categorical_crossentropy', optimizer='adam')
print(model.compile)

model.fit(x, y, batch_size = 17,epochs=500, verbose=1)

但是我遇到以下错误

Error when checking target: expected dense_57 to have shape (2, 8, 1) but got array with shape (17, 1, 1)

1 个答案:

答案 0 :(得分:3)

由于Dense层的输出尺寸为1,因此可以预期y的形状为(2, 8, 1)。一个简单的解决方法是执行以下操作

x = x.reshape(17, 16)
y = y.reshape(17, 1)

model.add(Dense(1, input_shape=(16,), activation='relu'))