File size: 1,804 Bytes
c636255 c944c9c c636255 c944c9c 1ddb0f2 c944c9c 46dcc1c c944c9c 46dcc1c c944c9c 46dcc1c 18f89b6 46dcc1c 18f89b6 46dcc1c c944c9c 35ebb37 c636255 |
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
import gradio as gr
import hopsworks
import joblib
import pandas as pd
project = hopsworks.login()
fs = project.get_feature_store()
mr = project.get_model_registry()
model = mr.get_model("wine_model")
model_dir = model.download()
model = joblib.load(model_dir + "/wine_model.pkl")
print("Model downloaded")
def wine(fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides, total_sulfur_dioxide, ph, sulphates, alcohol, type):
if type == "red":
type = 0
else:
type = 1
print("Calling function")
df = pd.DataFrame([[fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides, total_sulfur_dioxide, ph, sulphates, alcohol, type]], columns=['fixed acidity', 'volatile acidity', 'citric acid', 'residual sugar', 'chlorides', 'total sulfur dioxide', 'ph', 'sulphates', 'alcohol', 'type'])
print("Predicting")
print(df)
# 'res' is a list of predictions returned as the label.
res = model.predict(df)
# We add '[0]' to the result of the transformed 'res', because 'res' is a list, and we only want
# the first element.
print(res)
return res[0]
iface = gr.Interface(
fn=wine,
title="Wine Quality Prediction",
description="Predict the quality of a wine based on its features.",
allow_flagging="never",
inputs=[
gr.Number(label="fixed_acidity"),
gr.Number(label="volatile_acidity"),
gr.Number(label="citric_acid"),
gr.Number(label="residual_sugar"),
gr.Number(label="chlorides"),
gr.Number(label="total_sulfur_dioxide"),
gr.Number(label="ph"),
gr.Number(label="sulphates"),
gr.Number(label="alcohol"),
gr.Radio(["red", "white"], label="type")
],
outputs=gr.Number(label="quality"))
iface.launch()
|