简体   繁体   中英

FastAPI loading model.pb - SavedModel file does not exist error

I'm trying to load a trained model on FastAPI and try pinging it from a notebook (to mimic a frontend call). But keep getting error saying the model file doesn't exist. I'm very new to this, any advice welcome...

Training notebook: model.save('/data/model')

Downloaded the model and put the whole folder in the FastAPI folder.

File structure in 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")
  ...

Testing notebook:

import requests

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

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

I had the same issue and this worked for me:

model = load_model("./model/")

It seems like your code was treating "saved_model.pb" as a directory and looking for the model file inside it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM