【问题标题】:FastAPI loading model.pb - SavedModel file does not exist errorFastAPI 加载 model.pb - SavedModel 文件不存在错误
【发布时间】:2021-06-11 00:12:02
【问题描述】:

我正在尝试在 FastAPI 上加载经过训练的模型并尝试从笔记本中对其进行 ping 操作(以模拟前端调用)。但是不断收到错误说模型文件不存在。我对此很陌生,欢迎任何建议......

培训笔记本: model.save('/data/model')

下载模型并将整个文件夹放在FastAPI文件夹中。

FastAPI 中的文件结构:

>> API
  >> _pycache_
  >> model
    >> assets
    >> variables
    keras_metadata.pb
    saved_model.pb
  >> pyapi-env
  api.py

api.py

from fastapi import FastAPI
from tensorflow.keras.models import load_model
...

@app.get("/predict")
def predict(test):
  ...
  model = load_model("./model/saved_model.pb")
  ...

测试笔记本:

import requests

url = "http://localhost:8000/predict"
params = {
    "test": "testing",
}
res = requests.get(url, params=params)
res.json()

错误: OSError: SavedModel file does not exist at: ./model/saved_model.pb\{saved_model.pbtxt|saved_model.pb}

【问题讨论】:

    标签: python tensorflow machine-learning keras fastapi


    【解决方案1】:

    我遇到了同样的问题,这对我有用:

    model = load_model("./model/")
    

    您的代码似乎将“saved_model.pb”视为一个目录并在其中查找模型文件。

    【讨论】:

    • 谢谢。回顾一下我使用model = load_model("project/model.h5") 处理的代码。 api.py 和 model.h5 都在同一个目录“project”中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 2020-11-14
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多