Python 如何使用我的LSTM输出作为keras中另一个LSTM的输入?

Python 如何使用我的LSTM输出作为keras中另一个LSTM的输入?,python,tensorflow,keras,lstm,Python,Tensorflow,Keras,Lstm,在一个句子中,我想预测五个不同的二进制值。对于每个二进制值,我想预测一个热编码值 为此,我编程了两个不同的LSTM。但现在我不确定如何使用第一个LSTM的输出在第二个LSTM中正确使用它。首先,我的两个模型: 第一个模型 对于5个值,输出可以是0或1。F.e.[0,1,0,0,1] 第二种模式 我的辅助_输入的输入类似于[0,0,0,1,0]。 输出为一个热编码[0,0,1,0] 我的想法 我首先想到也许我可以直接使用第一个模型的输出作为第二个模型的输入。问题是:我的secon模型的输出会发生变

在一个句子中,我想预测五个不同的二进制值。对于每个二进制值,我想预测一个热编码值

为此,我编程了两个不同的LSTM。但现在我不确定如何使用第一个LSTM的输出在第二个LSTM中正确使用它。首先,我的两个模型:

第一个模型 对于5个值,输出可以是0或1。F.e.[0,1,0,0,1]

第二种模式 我的辅助_输入的输入类似于[0,0,0,1,0]。 输出为一个热编码[0,0,1,0]

我的想法 我首先想到也许我可以直接使用第一个模型的输出作为第二个模型的输入。问题是:我的secon模型的输出会发生变化,我不知道第二个模型的输出层怎么可能预测二维输出,比如

[
 [0,0,0,1]
 [0,0,1,0]
 [0,0,0,1]
 [0,0,0,1]
 [1,0,0,0]
]
因此,我的问题是:

  • 通过具有二维输出层,是否可以将第一个模型的数据直接用作第二个模型的输入

    或2。以下是可能的:对于第一个模型的每个二进制值,我将一个热编码数组作为输入传递给第二个模型。因此,第二个模型存在5次。只有当所有5秒模型预测输出正确时,我的完整模型才是正确的


  • 我重塑了我的输出层,并对重塑后的层进行了评估。所以我的最后两层看起来像这样:

    main_output = Dense(20,activation='sigmoid')(concatenated_layer)
    reshaped_out = Reshape(target_shape=(5,4))(main_output)
    

    我重塑了我的输出层,并对重塑后的层进行了评估。所以我的最后两层看起来像这样:

    main_output = Dense(20,activation='sigmoid')(concatenated_layer)
    reshaped_out = Reshape(target_shape=(5,4))(main_output)
    
    main_output = Dense(20,activation='sigmoid')(concatenated_layer)
    reshaped_out = Reshape(target_shape=(5,4))(main_output)