【问题标题】:How to load a keras model saved as .pb如何加载保存为 .pb 的 keras 模型
【发布时间】:2020-07-29 05:32:30
【问题描述】:

我想加载一个我训练过的 keras 模型并将其保存为 .pb
这是代码,

我正在使用 jupyter 笔记本。
模型成功保存为同一目录下的saved_model.pb。但是代码无法访问它。

任何人都可以看到它,我如何访问保存在 .pb 扩展名中的这个 keras 模型。
我在其他几个地方检查了解决方案,但没有运气。

模型保存在 model/saved_model.pb
我已取出 .pb 文件并将其放在我的代码文件所在的同一目录中。

【问题讨论】:

  • 您使用名称model 保存它并使用名称saved_model.pb 加载它。也许,这就是问题所在?
  • 不完全是,它实际上保存在模型文件夹中... model > saved_model.pb 所以我从那里取出pb文件并将其粘贴到我的代码文件所在的同一目录中。跨度>
  • 我正在关注的书使用model.save("my_keras_model.h5") 将模型命名 保存为my_keras_model.h5。然后,它是这样加载的:keras.models.load_model("my_keras_model.h5")
  • 是的,keras模型可以保存为h5。我正在试验它是否可以保存在 .pb 扩展名下并且可以使用。令我惊讶的是,它已保存但无法加载。

标签: python tensorflow machine-learning keras deep-learning


【解决方案1】:

函数tf.keras.models.load_modelSavedModel 加载到tf.keras 模型中。该函数的参数是保存模型的路径。

所以试试model = tf.keras.models.load_model('model')

【讨论】:

  • 哦,好的,现在如何访问模型,我的意思是,如果我输入 model.summary(),它什么也没有显示。
  • 如果你用tf.keras.models.load_model('model')加载模型然后运行model.summary()呢?
【解决方案2】:

您应该加载所有模型文件夹而不是加载 .pb 文件。 如果您将模型保存到 './_models/vgg50_finetune'(我在项目中使用了此路径),您将获得包含两个 .pb 文件(keras_metadata.pb 和 saved_model.pb)和两个子文件夹(资产和变量)的文件夹 vgg50_finetune。 您唯一应该做的就是使用以下代码: model = tf.keras.models.load_model('./_models/vgg50_finetune') 您既可以训练模型,也可以将其用于预测。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-12
    • 2019-09-29
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多