我的模型是2个不同的keras模型的集合,这些模型连接到相同的输入层,合并后具有2个输出层。两种模型都是经过预训练的,我正在尝试创建并行架构。我的架构是:`
model_input = Input(shape=(224,224,3), name="model_input")
gender_model_copy.layers.pop(0)
color_model_copy.layers.pop(0)
color_model_ens1 = color_model_copy(model_input)
gender_model_ens1 = gender_model_copy(model_input)
model_f = Model(input=[model_input], output=[color_model_ens1,gender_model_ens1])
model_f.save('path')
`
模型被编译,我也可以做出预测,但是当我保存并尝试重新加载它时,我得到了:
ValueError: Invalid input_shape argument (None, 224, 224, 3): model has 0 tensor inputs.
完整跟踪:Github gist link。
我有一个自定义图层,正在使用custom_objects={'Scale':Scale()}
添加keras.models.load_model
中的参数我的keras版本是2.2.5,而tensorflow版本是1.15
EDIT:我意识到问题是我使图层无法通过layer.trainable=False
进行训练,而没有这样做就能够加载没有错误的模型。我仍然想知道为什么会这样。
@ SajinGohil,请问我遇到类似错误的代码示例解释了您的解决方案