【问题标题】:ValueError: The name "Sequential" is used 4 times in the model. All the layer names should be unique?ValueError:名称“Sequential”在模型中使用了 4 次。所有图层名称都应该是唯一的?
【发布时间】:2019-12-25 19:52:53
【问题描述】:

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

Model Structure

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

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

谢谢。

【问题讨论】:

    标签: machine-learning keras ensemble-learning federated-learning


    【解决方案1】:

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

        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)
    

    【讨论】:

    • 您好,感谢您的解决方案。但是,在 Keras 中,我们需要使用 M1._name = "client1"。这个对我有用。 :)
    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多