1

让我们考虑一下,我有四个模型,分别是 M1(客户端 1)、M2(客户端 2)、M3(客户端 3)和 M4(客户端 4)。每个模型都有相似的结构。

模型结构

在为每个客户端模型训练之后。我已经将这些模型聚合在一起并创建了一个新模型,我们可以说是“EnsModel”。之后,我使用这个集成模型再次为每个客户重新训练新数据。但是,当我再次尝试集成更新后的模型时,我遇到了“ValueError:名称“Sequential”在模型中使用了 4 次。所有图层名称都应该是唯一的?”的问题。

有人可以帮帮我吗?我也有一个问题。有什么方法可以为每个客户建模修改集成模型结构?

谢谢你。

4

1 回答 1

0

尝试命名每个模型,然后将它们合并如下。

    M1.name = 'Client1'
    M2.name = 'Client2'
    M3.name = 'Client3'
    M4.name = 'Client4'

    commonInput = Input((x, x, y))

    outM1 = M1(commonInput)
    outM2 = M2(commonInput)
    // outM3
    // outM4 also like the first two

    mergedM1M2 = keras.layers.Add()([outM1,outM2])

    //mergedM3M4 

    FinalMerged = keras.layers.Add()([mergedM1M2,mergedM3M4])

    FinalModel = Model(commonInput, Finalmerged)
于 2019-12-25T21:02:22.563 回答