[英]How to combine two predefined models in Keras TensorFlow?
我想构建一个具有两个输入的神经网络,并使用 EfficientNetB1 来提取特征并对新层进行微调,因此我编写了以下代码:
def createNet(self,shape):
FE1 = K.applications.EfficientNetB1(include_top=False, input_shape=shape)
FE2 = K.applications.EfficientNetB1(include_top=False, input_shape=shape)
inp1 = FE1.input
out1 = FE1.layers[-1].output
inp2 = FE2.input
out2 = FE2.layers[-1].output
merged_out = K.layers.concatenate((out1, out2))
# .... other layers
self.model = K.models.Model(inputs=[inp1, inp2], outputs=[merged_out])
self.model.summary()
但我收到了这个错误:
ValueError: The name "stem_conv_pad" is used 2 times in the model. All layer names should be unique.
那么我该如何构建我的模型呢?
基于此,我添加了以下代码来解决它。
for layer in FE2.layers:
layer._name = layer.name + str("_2")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.