Python 加载集合keras模型时给出VALUERROR:无效的输入_形状参数(无、224、224、3):模型有0个张量输入

Python 加载集合keras模型时给出VALUERROR:无效的输入_形状参数(无、224、224、3):模型有0个张量输入,python,tensorflow,keras,keras-layer,keras-2,Python,Tensorflow,Keras,Keras Layer,Keras 2,我的模型是两个不同的keras模型的集合,这些模型连接到同一输入层,组合时有两个输出层。 这两个模型都经过了预训练,我正在尝试创建一个并行架构。 我的架构是: ` ` 模型得到编译,我也可以进行预测,但当我保存它并尝试重新加载它时,我得到: ValueError:无效的输入\u形状参数(无、224、224、3):模型有0个张量输入。 完整跟踪: 我使用custom_objects={'Scale':Scale()} keras.models.load\u model中的参数 我的keras版本是

我的模型是两个不同的keras模型的集合,这些模型连接到同一输入层,组合时有两个输出层。 这两个模型都经过了预训练,我正在尝试创建一个并行架构。 我的架构是: `

`

模型得到编译,我也可以进行预测,但当我保存它并尝试重新加载它时,我得到:

ValueError:无效的输入\u形状参数(无、224、224、3):模型有0个张量输入。
完整跟踪:

我使用
custom_objects={'Scale':Scale()}
keras.models.load\u model中的参数
我的keras版本是2.2.5,tensorflow版本是1.15


编辑:我意识到问题在于我使层无法通过
层进行训练。trainable=False
,如果不这样做,我就能够加载模型而不会出现错误。我仍然想知道为什么会发生这种情况。

如果重命名某个图层,可能会出现问题。停止重命名。

如果重命名某个图层,可能会出现问题。停止重命名。

好吧,你在执行pop时删除了输入层,为什么要这样做?现在没有必要all@MatiasValdenegro,我把它换成了新的,我没有把它去掉,但结果是一样的。做一个可复制的例子,然后同意Matias。。。。。没有理由弹出图层。(我确实认为弹出是一种根本不受支持的东西,特别是在模型开始时)好吧,你在做弹出时删除了输入层,为什么要这样做?现在没有必要all@MatiasValdenegro,我把它换成了新的,我没有把它去掉,但结果是一样的。做一个可复制的例子,然后同意Matias。。。。。没有理由弹出图层。(我确实认为弹出是一种没有得到很好支持的东西,特别是在模型的开头)嗨,对不起,但是你的回答更适合作为评论。如果您认为这正是问题所在,您可以展示一些工作示例,其中重命名输入层导致了错误,而不这样做就解决了问题。这将使这是一个好的或至少是一个正确的答案。嗨,对不起,但你的答案更适合作为一个评论。如果您认为这正是问题所在,您可以展示一些工作示例,其中重命名输入层导致了错误,而不这样做就解决了问题。这将是一个好的或至少是一个正确的答案。
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')