Yasaman's picture
Update app.py
26081a0
raw
history blame
1.36 kB
import gradio as gr
import hopsworks
import joblib
import pandas as pd
import numpy as np
import json
import time
from datetime import timedelta, datetime
from functions import *
project = hopsworks.login()
models=["Gradient_Boost","Random_Forest","Lasso"]## Add others models names as in hopsworks
def air_quality(city,model_name):
start_date = datetime.now() - timedelta(days=1)
start_time = int(start_date.timestamp()) * 1000
X = pd.read_csv('x.csv')
#X = X.drop(columns=["date"]).fillna(0)
X = X.drop(X.columns[0],axis=1)
mr = project.get_model_registry()
model = mr.get_model(model_name, version=3)
model_dir = model.download()
model = joblib.load(model_dir + "/model.pkl")
preds = model.predict(X)
#print(model.predict(X)[:7])
predictions = ''
for k in range(7):
predictions += "Predicted AQI on " + (datetime.now() + timedelta(days=k)).strftime('%Y-%m-%d') + ": " + str(int(preds[k]))+"\n"
print(predictions)
return predictions
with gr.Blocks() as demo:
gr.Label("Predict air quality in Paris")
with gr.Row():
inp=[gr.Textbox(label='Enter city'),gr.Radio(models, value="Gradient_Boost")]
out = gr.Textbox()
btn = gr.Button("Show prediction")
btn.click(fn=air_quality, inputs=inp, outputs=out)
demo.launch()