Keras:用于重复多输入的单输入层

Keras: single input layer for repeated multi inputs

所以,我得到了这个具有 6 个相同形状的相同输入的多输入模型。现在如果我必须使用这个模型,我必须将我的输入数据乘以输入层的总数,即 6。我想知道我是否可以在此之上添加另一个层并可以传递将与所有连接的单个输入这6个输入。我不确定如何做到这一点!有什么想法吗?

问题是这样的:我有一个 "BASE" 多输入模型,其中所有输入都是相同的,因为这个 "BASE" 模型只是多个模型的组合,恰好共享相同类型的输入!现在,当使用这个 "BASE" 模型进行分类时,我必须提供 [input_data x "total_inputs"] 对于每个输入层,这是我不想做的事情,在对数百万个句子进行分类时说!

因此,理想的解决方案是只有一个输入与所有 "BASE" 模型输入相连!!

好的,这是完成的方式:

  1. 创建一个新的 top_model,它将采用单个输入并生成多个相同的输出。这可以通过 Lambda 层来完成。

    single_input = layers.Input(input_shape)
    multi_output = layers.Lambda(lambda x: [x] * total_numbers_of_base_inputs)(single_input)
    top_model = Model(inputs=single_input, outputs=multi_output)
    
  2. 使用 top_model 输入和您的 multi_input_base_model 如下所示创建新的 single_input 模型。

    new_model = Model(inputs=top_model.input, outputs=multi_input_base_model(top_model.output))