具有多个输入的 Keras 模型在拟合时会导致奇怪的错误

时间:2021-03-15 12:38:15

标签: python numpy tensorflow keras

我目前正在研究使用 GRU 的编码器-解码器模型。它需要 2 个输入,编码器输入和解码器输入。解码器只有一个输出。模型是:

encoder=tf.keras.layers.GRU(10,return_state=True)
_,state=encoder(encoder_input)

decoder_input=tf.keras.layers.Input(shape=(None,10))
decoder=tf.keras.layers.GRU(10,return_sequences=True)
decoder_output=decoder(decoder_input,initial_state=state)

model=tf.keras.models.Model(inputs=[encoder_input,decoder_input],outputs=decoder_output)

model.compile(optimizer='Adam',loss='MeanSquaredError',metrics=['Accuracy'])

当我尝试使用以下伪代码拟合模型时:model.fit(x=[encoder_data,decoder_data],y=decoder_truth)encoder_datadecoder_datadecoder_truth 都是列表的嵌套列表并且形状为 {{1 }},并且(None,None,10)decoder_data具有相同的形状

代码引发:decoder_truth

1 个答案:

答案 0 :(得分:0)

Decoder_data 和decoder_truth 的长度应该相同,因为GRU 为每个输入提供一个输出。此外,每批次的时间步数应保持不变。

相关问题