Python 使用多头CNN和合并作为时间序列预测RNNs的输入

Python 使用多头CNN和合并作为时间序列预测RNNs的输入,python,deep-learning,time-series,recurrent-neural-network,cnn,Python,Deep Learning,Time Series,Recurrent Neural Network,Cnn,我想合并来自多个CNN的输入,并将其作为RNN模型的输入。它基本上是一个带有多个CNN头的CRNN。 我有3个时间序列,我想在这些序列上构建3个独立的CNN,合并它们,然后将它们用作RNN的输入。 我已经写了下面的代码,但它不适合我。 请帮我翻译这个代码。我将不胜感激 series1 = Sequential() series1.add(TimeDistributed(Conv1D(3,2,activation='relu',padding='same',input_shape=(n_steps

我想合并来自多个CNN的输入,并将其作为RNN模型的输入。它基本上是一个带有多个CNN头的CRNN。 我有3个时间序列,我想在这些序列上构建3个独立的CNN,合并它们,然后将它们用作RNN的输入。 我已经写了下面的代码,但它不适合我。 请帮我翻译这个代码。我将不胜感激

series1 = Sequential()
series1.add(TimeDistributed(Conv1D(3,2,activation='relu',padding='same',input_shape=(n_steps,n_features))))
series1.add(TimeDistributed(MaxPooling1D(pool_size=2,padding='valid',strides=2)))
series1.add(TimeDistributed(Flatten()))
series2 = Sequential()
series2.add(TimeDistributed(Conv1D(3,2,activation='relu',padding='same',input_shape=(n_steps,n_features))))
series2.add(TimeDistributed(MaxPooling1D(pool_size=2,padding='valid',strides=2)))
series2.add(TimeDistributed(Flatten()))
series3 = Sequential()
series3.add(TimeDistributed(Conv1D(3,2,activation='relu',padding='same',input_shape=(n_steps,n_features))))
series3.add(TimeDistributed(MaxPooling1D(pool_size=2,padding='valid',strides=2)))
series3.add(TimeDistributed(Flatten()))
merged = Concatenate([series1,series2,series3])
final_model=Sequential()
final_model.add(merged)
final_model.add(SimpleRNN(5,return_sequences=True))
final_model.add(SimpleRNN(3))
output= Dense(1170)(final_model)

model= Model(inputs=[series1,series2,series3],outputs=output)

你能解释一下什么不适合你吗?您面临哪些问题或错误在这个体系结构中,我得到了错误,因为最终的_模型没有形状组件。我还想知道该体系结构是否适合我要执行的任务。然后添加一个形状组件,您的
输入\u shape
将是
合并中样本的形状。您还应该尝试将函数API用于具有模型分支/集合的对象,因为这更容易实现