Вы можете увидеть model.summary()
, который кроме формы вывода равен (?,1)
. Но ваша форма y_train
равна (1,10,1)
.
Таким образом, вы либо настраиваете y_train
на (?,1)
, либо настраиваете модель в соответствии со своими входами в зависимости от ваших потребностей.
print(model.summary())
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d_1 (Conv2D) (None, 8, 198, 32) 57632
_________________________________________________________________
conv2d_2 (Conv2D) (None, 6, 196, 32) 9248
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 3, 98, 32) 0
_________________________________________________________________
dropout_1 (Dropout) (None, 3, 98, 32) 0
_________________________________________________________________
flatten_1 (Flatten) (None, 9408) 0
_________________________________________________________________
dense_1 (Dense) (None, 128) 1204352
_________________________________________________________________
dense_2 (Dense) (None, 64) 8256
_________________________________________________________________
dropout_2 (Dropout) (None, 64) 0
_________________________________________________________________
dense_3 (Dense) (None, 1) 65
=================================================================
Total params: 1,279,553
Trainable params: 1,279,553
Non-trainable params: 0
_________________________________________________________________
Редактировать
Вы должны изменить Flatten()
слой и структуру модели, если вы используете 2 измерения. Поскольку я не знаю, какая структура сети вам нужна, я не могу исправить это для вас. Конечно, вы также можете оставить y_train
равным (1,10,1)
. Пытаясь следовать ему.
model.add(Dense(10, activation='sigmoid'))
model.add(Reshape((10,1)))
Я рекомендую изменить y_train
в соответствии с исходной структурой. Вы можете полностью изменить y_train
на (?,10)
.
# shape=(?,10)
y_train=y_train.reshape(1,10)
# change shape
model.add(Dense(10, activation='sigmoid'))