Python Keras不相容形状

Python Keras不相容形状,python,keras,Python,Keras,我有一套培训和测试设备,尺寸如下: X_train.shape = (1,10767,11) and y_train.shape = (1,10767,3) 我正试图建立一个CNN来预测你们的火车。我的模型的架构如下所示: model = keras.models.Sequential() model.add(Conv1D(32, kernel_size=5, strides=2, activation='relu', input_shape= (None,11))) model.add(C

我有一套培训和测试设备,尺寸如下:

X_train.shape = (1,10767,11) and y_train.shape = (1,10767,3)
我正试图建立一个CNN来预测你们的火车。我的模型的架构如下所示:

model = keras.models.Sequential()

model.add(Conv1D(32, kernel_size=5, strides=2, activation='relu', input_shape= (None,11)))
model.add(Conv1D(64, kernel_size=2, strides=1, activation='relu'))       
model.add(Dense(64, activation='relu'))
model.add(Dense(3, activation='sigmoid'))   # Final Layer using Softmax
epochs = 10
lrate = 0.01
decay = lrate/epochs
sgd = SGD(lr=lrate,momentum=0.9,decay=decay, nesterov=False)
model.compile(loss='mean_squared_error', optimizer='sgd', metrics = ['mse'])
但是,当我使用fit时,在我的第一次epoch打印之后,我得到以下错误:

不兼容的形状:[15381,3]与[110767,3]

我尝试在最后一个密集层之前添加一个展平层,但是,问题是形状没有完全定义,使我将输入的形状更改为(10767,11)。但是,在拟合过程中,我仍然获得了错误:

预期稠密_99有2维,但得到了形状为(1,10767,3)的数组

这是我的最后一层


如果我试图减少输入形状和数据中的维数,它会说它预期的维数为3,而我给出的维数为2

我相信y_列车数据形状的问题。我将形状修改为:

y_train=np.ones((1,5381,3))
并且没有出现错误。由于您在第一个卷积层中跨步2,因此整个网络中的1D步数减少了2倍(减去内核大小5),看起来是这样的。我希望这有帮助