让我们考虑一下,我有四个模型,分别是 M1(客户端 1)、M2(客户端 2)、M3(客户端 3)和 M4(客户端 4)。每个模型都有相似的结构。
对每个客户端模型进行培训后。我将这些模型聚合在一起并创建一个新模型,我们可以说“EnsModel”。之后,我再次使用这个集成模型为每个客户端重新训练新数据。然而,当我尝试再次集成更新的模型时,我遇到了这个问题: “ValueError:名称“Sequential”在模型中使用了 4 次。所有层名称都应该是唯一的吗?”
有人可以帮我吗?我也有一个问题。有什么方法可以对每个客户端的集成模型结构进行建模修改吗?
谢谢。
最佳答案
尝试命名每个模型,然后将它们合并,如下所示。
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)
关于machine-learning - ValueError : The name "Sequential" is used 4 times in the model. 所有图层名称都应该是唯一的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59481435/