深度学习中的重命名层会降低准确率

时间:2018-11-07 13:47:29

标签: python tensorflow neural-network keras deep-learning

我已经使用Keras来实现两个深度学习模型。这两个模型产生了较高的准确率。另外,我创建了一个多输入模型,将两个模型连接在一起,但是出现了这个错误

RuntimeError: ('The name "block1_conv1" is used 2 times in the model. All layer names should be unique. 

因此,我将第二个模型中的图层重命名为:

for layer in model2.layers:
    layer.name = layer.name + str("2")

在第二个模型中重命名图层后,第二个模型的准确性降低。当我删除重命名代码时,第二个模型产生一个 高精确度。重命名模型的图层前后,第二个模型的结构没有差异。但是我不为什么在重命名图层后第二个模型的性能会改变 !!。

此外,我尝试仅重命名第一个模型,并且遇到了相同的问题。

您有解决此问题的解决方案吗?

还有另一种更改图层名称的方法吗?

model = vgg16.VGG16(include_top=False, input_shape=(64,64,3))
in = model.input
out = model.output

model2 = vgg16.VGG16(include_top=False, input_shape=(64,64,3))
in2 = model2.input
out2 = model2.output

for layer in model2.layers:
    layer.name = layer.name + str("2")

merged = concatenate([out, out2])
merged = Dense(1024, activation='relu')(merged)
merged = Dense(num_classes, activation='softmax')(merged)

model_fusion = Model([in, in], merged)

0 个答案:

没有答案