我正在尝试在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)
答案 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'))