Можем ли мы использовать модели Pydantic (BaseModel) непосредственно внутри model.predict() с использованием FastAPI, а Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Можем ли мы использовать модели Pydantic (BaseModel) непосредственно внутри model.predict() с использованием FastAPI, а

Сообщение Anonymous »

Я использую модель Pydantic (

Код: Выделить всё

Basemodel
) с помощью FastAPI и преобразования входных данных в словарь, а затем преобразования их в DataFrame Pandas, чтобы передать их в функцию model.predict() для Machine Прогнозы обучения, как показано ниже:

Код: Выделить всё

from fastapi import FastAPI
import uvicorn
from pydantic import BaseModel
import pandas as pd
from typing import List

class Inputs(BaseModel):
f1: float,
f2: float,
f3: str

@app.post('/predict')
def predict(features: List[Inputs]):
output = []

# loop the list of input features
for data in features:
result = {}

# Convert data into dict() and then into a DataFrame
data = data.dict()
df = pd.DataFrame([data])

# get predictions
prediction = classifier.predict(df)[0]

# get probability
probability = classifier.predict_proba(df).max()

# assign to dictionary
result["prediction"] = prediction
result["probability"] = probability

# append dictionary to list (many outputs)
output.append(result)

return output
Он работает нормально, я просто не совсем уверен, оптимизирован ли он или правильный ли это способ сделать, поскольку я преобразую входные данные два раза, чтобы получить предсказания. Кроме того, я не уверен, будет ли он работать быстро в случае огромного количества входных данных. Есть ли улучшения в этом отношении? Если есть способ (даже помимо использования моделей Pydantic), с помощью которого я могу работать напрямую, избегая преобразований и цикла.


Подробнее здесь: https://stackoverflow.com/questions/718 ... -using-fas
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»