Tensorflow 为什么在该seq2seq模型中添加输入?

Tensorflow 为什么在该seq2seq模型中添加输入?,tensorflow,keras,seq2seq,Tensorflow,Keras,Seq2seq,我一直在试图理解keras上关于seq2seq2的示例代码 链接: 如果我理解的话,下面的解码器模型的输入是: 解码器_输入和解码器_状态_输入,其中[解码器_输入]应用作实际输入,解码器_状态_输入初始化lstm层的状态 创建模型时,两个似乎用于不同事物的输入与+运算符组合。模型如何区分两者 encoder_model = Model(encoder_inputs, encoder_states) decoder_state_input_h = Input(shape=(latent_di

我一直在试图理解keras上关于seq2seq2的示例代码

链接:

如果我理解的话,下面的解码器模型的输入是: 解码器_输入和解码器_状态_输入,其中[解码器_输入]应用作实际输入,解码器_状态_输入初始化lstm层的状态

创建模型时,两个似乎用于不同事物的输入与+运算符组合。模型如何区分两者


encoder_model = Model(encoder_inputs, encoder_states)

decoder_state_input_h = Input(shape=(latent_dim,))
decoder_state_input_c = Input(shape=(latent_dim,))
decoder_states_inputs = [decoder_state_input_h, decoder_state_input_c]
decoder_outputs, state_h, state_c = decoder_lstm(
    decoder_inputs, initial_state=decoder_states_inputs)
decoder_states = [state_h, state_c]
decoder_outputs = decoder_dense(decoder_outputs)
decoder_model = Model(
    [decoder_inputs] + decoder_states_inputs,
    [decoder_outputs] + decoder_states)

它们是求和列表对象,而不是值

解码器_状态_输入是一个列表。由[解码器\状态\输入\ h,解码器\状态\输入\ c]组成 [decoder_inputs]是查看[]的列表 列表+列表只是两个列表的串联

所以:[译码器输入]+[译码器状态输入,译码器状态输入c] 等于:[解码器输入、解码器状态输入、解码器状态输入]

这只是模型的输入列表。创建模型时,始终需要传递列表中的所有输入