在 cnn 后添加一个 lstm

问题描述 投票:0回答:0

我有两个 cnn,我想将它们连接起来并将它们提供给 lstm 或 bilstm 这是代码

input_text_ = Input(shape = (MAX_UTTERANCE_LENGTH,), dtype = 'int32') #MAX_UTTERANCE_LENGTH = 20
embedded_sequences = embedding_layer(input_text_)
output_text_ = Conv1D(64, 5, activation='relu')(embedded_sequences)
output_text_ = MaxPooling1D(2)(output_text_)
output_text_ = Conv1D(100, 5, activation='relu')(output_text_)
output_text_ = GlobalMaxPooling1D()(output_text_)
model_text = Model(inputs = input_text_, outputs = output_text_)

input_audio_ = Input(shape = (10, 4))
output_audio_ = Conv1D(16, 3, activation='relu')(input_audio_)
output_audio_ = MaxPooling1D(2)(output_audio_)
output_audio_ = Conv1D(32, 3, activation='relu')(output_audio_)
output_audio_ = MaxPooling1D(2)(output_audio_)
output_audio_ = Reshape((32,))(output_audio_)
model_audio = Model(inputs = input_audio_, outputs = output_audio_)

concatenate = Concatenate()([output_audio_, output_text_])
concatenate = Bidirectional(LSTM(500, return_sequences=True,dropout=0.1, recurrent_dropout=0.8))(concatenate) 

问题是 lstm 给我这个 dimn 的错误

“双向”层的输入 0 与该层不兼容:预期 ndim=3,发现 ndim=2。收到完整形状:(无,132)

哪一层需要重新塑造黑暗 任何帮助我很感激

python keras deep-learning lstm
© www.soinside.com 2019 - 2024. All rights reserved.