【问题标题】:Unable to load a Keras saved model (Error: unable to open file)无法加载 Keras 保存的模型(错误:无法打开文件)
【发布时间】:2021-06-03 18:09:47
【问题描述】:

我在 colab 上训练了一个 keras 序列模型并将其保存为 TensorFlow SavedModel 格式。 然后我将训练模型的压缩文件夹(包含 saved_model.pb 文件和变量子文件夹)下载到我的计算机上,并尝试将此模型加载到我的一个 python 文件中,但最终得到
这个错误:(注意:我从安装了 keras 和 tensorflow 的 anaconda 自定义环境运行我的 python 文件)

OSError: Unable to open file (unable to open file: name = 'C:/Users/user/Desktop/chiffre.model', errno = 13, error message = 'Permission denied', flags = 0, o_flags = 0)

这是colab上的训练和保存代码:

import numpy as np
from tensorflow import keras
from tensorflow.keras import layers

model = keras.Sequential(..................)
#some lines of code
model.save('chiffre.model')

我尝试在 python 文件中加载模型:

new_model = keras.models.load_model('C:/Users/user/Desktop/chiffre.model',custom_objects=None,compile=True)

【问题讨论】:

    标签: python python-3.x tensorflow keras deep-learning


    【解决方案1】:

    这样试试,

    model.save("my_model")
    

    调用 model.save('my_model') 会创建一个名为 my_model 的文件夹,其中包含以下内容:

    assets  saved_model.pb  variables
    

    模型架构和训练配置(包括优化器、损失和指标)存储在 saved_model.pb 中。权重保存在 variables/ 目录中。

    然后加载模型,

    reconstructed_model = keras.models.load_model("my_model")
    



    您还可以保存一个包含模型架构、权重值和 compile() 信息的 HDF5 文件。它是 SavedModel 的轻量级替代品。

    # Calling `save('my_model.h5')` creates a h5 file `my_model.h5`.
    model.save("my_h5_model.h5")
    

    对于使用此方法进行加载,

    # It can be used to reconstruct the model identically.
    reconstructed_model = keras.models.load_model("my_h5_model.h5")
    

    【讨论】:

    • 感谢我将模型保存为 h5 格式,但是如果现在加载它,我会遇到此错误:ValueError: Unknown layer:name
    • 尝试更新 Keras。 'conda update keras' 或通过 pip 升级。这个错误在 Keras v2.0 中很常见。升级可能会解决它。
    • 我今天刚刚安装了 keras 和 tensorflow,所以我有这两个版本的最新版本
    • 确认 ::::::::: (tens) C:\Users\user>conda update keras 收集包元数据 (current_repodata.json): done 解决环境: done # 所有请求的包已经安装了。
    猜你喜欢
    • 2019-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多