繁体   English   中英

无法使用张量流重新加载保存的Keras模型

[英]Cannot Reload saved Keras model using tensorflow

我正在使用单个Jupyter笔记本工作。 我使用keras创建并训练了一个非常简单的CNN。 它可以编译,拟合并预测良好。 我将其保存为:

model.save("mymodel.hd5")

模型是keras.models.Sequential。

然后,我读回:

reload_keras_model = keras.models.load_model("mymodel.hd5")

那也很好。 但是,如果我尝试通过以下方式使用tensorflow来读取模型:

from tensorflow.keras.models import load_model
reload_tf_mmodel = load_model("mymodel.hd5")

失败与:

ValueError: Unknown layer:layers

我在github上阅读的大多数线程都说“更新您的模型”或有关自定义对象的注释(我不使用任何对象)。 我的目标平台是rpi zero,我已经能够安装tf但无法安装keras,这就是为什么我要通过tf加载的原因。 为什么keras和tf.keras会以不同的方式处理此模型,我需要更新/更改以使用tf.keras读取它吗?

尽管keras(可以)将TF用作后端,但它不能保证所保存的模型也可以在TF中读取。

请注意,您可以将keras与theano和tf一起使用,因此reload_keras_model = keras.models.load_model("mymodel.hd5")在两个后端都可以正常工作,因为保存/加载是在“ keras”部分完成的,而不是使用后端。

您可以使用此工具: keras_to_tensorflow

或类似的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM