【问题标题】:Keras model having multiple inputs causes strange errors when fitting具有多个输入的 Keras 模型在拟合时会导致奇怪的错误
【发布时间】:2021-03-15 12:38:15
【问题描述】:

我目前正在研究使用 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 都是嵌套列表,形状为 (None,None,10)decoder_data 和 @987654328 @具有相同的形状

代码引发:ValueError: Failed to convert a NumPy array to a Tensor (Unsupported object type list).

【问题讨论】:

    标签: python numpy tensorflow keras


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2020-09-09
      • 2021-07-13
      • 2016-04-17
      • 2019-04-08
      相关资源
      最近更新 更多