Keras Conv1d 输入形状问题,层 conv1d 的 Input 0 与层不兼容::预期 min_ndim=3,发现 ndim=2

时间:2021-03-18 12:25:11

标签: python tensorflow machine-learning keras

我正在尝试使用 conv1d 来预测时间序列,但是我在使用 conv1d 输入形状时遇到了问题。 我的数据 406 个样本,按时间顺序排列 10 个值。 目标是使用样本N作为输入来预测样本N+1。

这是我的代码示例:

print(data_x.shape)
# (406, 10)
print(data_y.shape)
# (406, 10)


inputs = Input(10, 1)
x = Conv1D(64, 2, input_shape=(10,1))(inputs)
x = Dense(64, "relu")(x)
x = Dense(64, "relu")(x)
x = Dense(10, "sigmoid")(x)

model = Model(inputs, x)
model.compile(loss='mse', metrics=['accuracy'], optimizer='adam')
history = model.fit(data_x, data_y,
                    batch_size=10, epochs=EPOCHS)

但我收到此错误 ValueError: Input 0 of layer conv1d is incompatible with the layer: : expected min_ndim=3, found ndim=2. Full shape received: (1, 10)

我不知道我错过了什么,我什至尝试执行 data_x = data_x.reshape(-1,10,1) 但结果相同。

0 个答案:

没有答案