在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'
我对其他人也做了同样的事情
我正在使用一个包含 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'
我对其他人也做了同样的事情