如何加载本地保存的TensorFlow模型,解决SavedModel文件不存在报错
问题原因
OSError报错是因为你调用tf.keras.models.load_model()时传入的是相对路径,Python运行时的工作目录和模型存放目录不一致,导致TensorFlow找不到对应的SavedModel格式文件。
正确加载方案
你可以直接传入模型的绝对路径即可,Windows系统下路径需要注意转义规则,以下是三种合法的写法,选任意一种使用即可:
- 写法1:使用原始字符串(推荐,不需要手动转义反斜杠)
# 字符串开头加r可自动处理反斜杠转义 model = tf.keras.models.load_model(r"C:\Users\Acer\Desktop\bing\Bing\Python_App\Scripts\logs\2-conv-0dense-128-units")
- 写法2:手动转义反斜杠
model = tf.keras.models.load_model("C:\\Users\\Acer\\Desktop\\bing\\Bing\\Python_App\\Scripts\\logs\\2-conv-0dense-128-units")
- 写法3:用正斜杠代替反斜杠
model = tf.keras.models.load_model("C:/Users/Acer/Desktop/bing/Bing/Python_App/Scripts/logs/2-conv-0dense-128-units")
异常排查
如果加载还是报错,先打开你给出的模型目录,确认目录下存在saved_model.pb文件,同时还有variables子文件夹,确认路径没有拼写错误、文件夹没有被加密或设置读写权限限制。
内容的提问来源于stack exchange,提问作者filthycasual
相关产品推荐
相关产品推荐

