【发布时间】:2020-08-05 09:26:10
【问题描述】:
我有一个 FastAPI 应用程序,它根据发送给它的 HTTP POST 数据进行预测。代码如下
import tensorflow as tf
from typing import List
from fastapi import FastAPI, Response
from pydantic import BaseModel
class ItemList(BaseModel):
instances: List[List[float]]
app = FastAPI()
model = tf.keras.models.load_model('trainedmodel/1')
@app.post('/v1/models/my_model:predict')
def predict(inputdata: ItemList):
# Extract [[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]
result = {
"predictions": [
model.predict(modelInput).flatten().tolist()
]
}
return result
对应用的请求类型为application/json,请求正文包含{"instances":[[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]]}
我需要从请求正文中提取[[1.5,1.65,2,0.5,-2,1.5,0.1,2,0.2]],以便将其输入到模型中(如上述代码中的modelInput)。在 Flask 中,我使用了request.json['instances'] 这样做。有人可以告诉我如何在 FastAPI 中做同样的事情吗?
【问题讨论】:
-
只是
inputdata.instances -
谢谢@AlexNoname!有效。我记得早些时候尝试过,但失败了。可能是因为我在其他地方出错了。您可以将此添加为答案,以便我接受它作为最佳答案吗?