我在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)
这样试试,
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")
OR,
您还可以保存一个HDF5文件,其中包含模型的体系结构、权重值和compile((信息。它是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")