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()