因此,我得到了具有6个相同形状的相同输入的多输入模型。现在,如果必须使用此模型,则必须将输入数据与输入层的总数(即6)相乘。我想知道是否可以在此之上添加另一层并可以传递将与所有这6个输入。我不确定如何做到这一点!有什么想法吗?
答案 0 :(得分:1)
问题是这样的:我有一个“ BASE” 多输入模型,其中所有输入都是相同的,因为此“ BASE” 模型只是一个组合共享相同类型输入的多个模型!现在,当使用此“ BASE” 模型进行分类时,我必须为每个输入层提供 [input_data x“ total_inputs”] ,这是我不想要的要做的事,当分类几百万个句子时说!
因此,理想的解决方案是仅将一个输入与所有“ BASE” 模型输入连接起来!
好的,这是完成的过程:
创建一个新的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)
使用top_model
输入和下面的multi_input_base_model
来创建新的单输入模型。
new_model = Model(inputs=top_model.input, outputs=multi_input_base_model(top_model.output))