HAR_API / main.py
asrvastava
label changes
be46641
from fastapi import FastAPI
from pydantic import BaseModel
import joblib
app = FastAPI()
loaded_model = joblib.load('model.joblib', mmap_mode='r')
class PredictRequest(BaseModel):
AG_X: float
AG_Y: float
AG_Z: float
Acc_X: float
Acc_Y: float
Acc_Z: float
Gravity_X: float
Gravity_Y: float
Gravity_Z: float
RR_X: float
RR_Y: float
RR_Z: float
RV_X: float
RV_Y: float
RV_Z: float
cos: float
class PredictResponse(BaseModel):
activity: str
@app.post('/predict', response_model=PredictResponse)
def predict(data: PredictRequest):
features = [data.AG_X, data.AG_Y, data.AG_Z, data.Acc_X, data.Acc_Y, data.Acc_Z, data.Gravity_X, data.Gravity_Y,
data.Gravity_Z, data.RR_X, data.RR_Y, data.RR_Z, data.RV_X, data.RV_Y, data.RV_Z, data.cos]
predictions = loaded_model.predict([features])[0]
print(predictions)
activities = ["Walking", "Sitting", "Standing", "Sitting", "DownStairs", "Upstairs"]
activity = activities[predictions]
return {'activity': activity}