在keras中多次复制相同的模型

Copy the same model multiple times in keras

我正在使用一个包含 5 个相同子模型的模型,它们的唯一区别在于它们的权重。

我分别训练了它们中的每一个,但现在我必须一起使用它们,我构建了其中的 5 个并收到消息

RuntimeError: The name "predictions" is used 5 times in the model. All layer names should be unique.

我想知道是否有一种方法可以在不使用 name 属性 的情况下更改我模型中层的名称,因为有超过 100 个层,我做不到手动。如果我更改名称我也想知道如何加载权重,因为它们与之前的图层名称一起保存。

我刚刚找到了一个简单的解决方案,我只是更改图层的名称:

model1 = Model(inputs=input, outputs=output)
    model1.load_weights('model1_weights.h5', by_name=True)

for i, layer in enumerate(model1.layers):
        layer.name = 'layer'+str(i)+'_model1'

我对其他人也做了同样的事情