Wine_se / app.py
Collapseruin's picture
Update app.py
c54a7f8
import gradio as gr
from PIL import Image
import requests
import hopsworks
import joblib
import pandas as pd
project = hopsworks.login()
fs = project.get_feature_store()
mr = project.get_model_registry()
model_red = mr.get_model("wine_red_model", version=1)
model_dir_red = model_red.download()
model_red = joblib.load(model_dir_red + "/wine_red_model.pkl")
print("Red Model downloaded")
model_white = mr.get_model("wine_white_model", version=1)
model_dir_white = model_white.download()
model_white = joblib.load(model_dir_white + "/wine_white_model.pkl")
print("White Model downloaded")
def wine(category, alcohol, chlorides, density, volatil_acidity,fixed_acidity, citric_acid,total_sulfur_dioxide):
print("Calling function")
df = pd.DataFrame([[alcohol, chlorides, density, volatil_acidity,fixed_acidity, citric_acid,total_sulfur_dioxide]],
columns=['alcohol','chlorides','density','volatil_acidity','fixed_acidity','citric_acid','total_sulfur_dioxide'])
print("Predicting")
print(df)
if category == "red":
res = model_red.predict(df)
print(res)
wine_url = "https://raw.githubusercontent.com/Anniyuku/wine_quality/main/" + res[0] + ".png"
img = Image.open(requests.get(wine_url, stream=True).raw)
else :
res = model_white.predict(df)
print(res)
wine_url = "https://raw.githubusercontent.com/Anniyuku/wine_quality/main/" + res[0] + ".png"
img = Image.open(requests.get(wine_url, stream=True).raw)
return img
demo = gr.Interface(
fn=wine,
title="Wine Predictive Analytics",
description="Experiment with type, alcohol, chlorides, density, volatil_acidity, fixed_acidity, citric_acid, total_sulfur_dioxide to predict which flower it is.",
allow_flagging="never",
inputs=[
gr.inputs.Radio(choices=["white","red"], label='category'),
gr.inputs.Number(default=12.4, label="alcohol"),
gr.inputs.Number(default=0.04, label="chlorides"),
gr.inputs.Number(default=0.99, label="density"),
gr.inputs.Number(default=0.16, label="volatil_acidity"),
gr.inputs.Number(default=6.60, label="fixed_acidity"),
gr.inputs.Number(default=0.40, label="citric_acid"),
gr.inputs.Number(default=143, label="total_sulfur_dioxide"),
],
outputs=gr.Image(type="pil"))
demo.launch(debug=True)