编译CNN LSTM神经网络时出错

时间:2019-06-25 12:40:15

标签: python-3.x keras conv-neural-network recurrent-neural-network

我正在尝试创建一个具有keras的神经网络,该神经网络将具有输入N个多元时间序列和目标输出N个时间序列。我使用window或lag方法将时间序列转换为监督问题。作为输入,我有一个4D矩阵(样本,变量,序列,滞后),作为输出,我有一个2D矩阵(样本,序列)。我发现了使用CNN + LSTM模型的类似示例,但在应用它们时遇到了困难。如果有帮助,我有train_X,train_y,test_X,test_y,其尺寸为(112,5,7998,2)(112,7998)(29,5,7998,2)(29,7998)

我尝试将TimeDistributed Keras包装器仅应用于CNN部分以及整个模型并从中删除。该代码的相关部分在下面。

model = Sequential()

model.add(TimeDistributed(Conv2D(filters=32, kernel_size=(1, 80), activation='relu', padding='same', input_shape=(train_X.shape[1], train_X.shape[2], train_X.shape[3]))))



model.add(TimeDistributed(MaxPool2D(pool_size=(1, 2),strides=1)))
model.add(TimeDistributed(Dropout(0.5)))

model.add(TimeDistributed(Flatten()))

model.add(TimeDistributed(LSTM(100, return_sequences=True)))
model.add(TimeDistributed(Dropout(0.2)))

model.add(TimeDistributed(Dense(units=1)))
model.compile(loss='mean_squared_error', optimizer='adam')

出现索引错误。

IndexError:列表索引超出范围

0 个答案:

没有答案