[英]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.