-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
34 lines (25 loc) · 914 Bytes
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import joblib
import numpy as np
from pydantic import BaseModel, Field
from fastapi import FastAPI
from fastapi.responses import RedirectResponse
import io
import pandas as pd
class Model(BaseModel):
X: list[str]
app = FastAPI()
loaded_model = joblib.load("model_baseline.pkl")
@app.post("/predict")
def predict_model(model:Model):
string_data = """datetime,Accelerometer1RMS,Accelerometer2RMS,Current,Pressure,Temperature,Thermocouple,Voltage,Volume Flow RateRMS
""" +'\r\n'.join(model.X)
df = pd.read_csv(io.StringIO(string_data), sep = ',', index_col = 'datetime')
# df.add(columns=['datetime'], inplace = True)
df.drop(columns=['Thermocouple'], inplace = True)
result = loaded_model.predict(df)
return {"result": ','.join(map(str,result))}
def main():
import uvicorn
uvicorn.run(app, host="127.0.0.1",port =8000)
if __name__ == "__main__":
main()