AdrianHR commited on
Commit
a247a7c
·
1 Parent(s): af48690

adding files for running the gradio application

Browse files
Files changed (2) hide show
  1. app.py +61 -0
  2. requirements.txt +6 -0
app.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from PIL import Image, ImageDraw, ImageFont
3
+ import requests
4
+ import hopsworks
5
+ import joblib
6
+ import pandas as pd
7
+
8
+ project = hopsworks.login()
9
+ fs = project.get_feature_store()
10
+
11
+
12
+ mr = project.get_model_registry()
13
+ model = mr.get_model("wine_model", version=1)
14
+ model_dir = model.download()
15
+ model = joblib.load(model_dir + "/wine_model.pkl")
16
+ print("Model downloaded")
17
+
18
+ columns = ['type_white','fixed_acidity','volatile_acidity','citric_acid','residual_sugar','chlorides','free_sulfur_dioxide','total_sulfur_dioxide','density','alcohol']
19
+
20
+
21
+ def get_image_with_text(text):
22
+ img = Image.new(size=(200,200),mode="RGBA", color='white')
23
+ draw = ImageDraw.Draw(img)
24
+ font = ImageFont.load_default(size=150)
25
+ draw.text((50,0), text, font=font, fill=(0, 0, 0, 0))
26
+ return img
27
+
28
+ def wine(type_white,fixed_acidity,volatile_acidity,citric_acid,residual_sugar,chlorides,free_sulfur_dioxide,total_sulfur_dioxide,density,alcohol):
29
+ print("Calling function")
30
+ # df = pd.DataFrame([[sepal_length],[sepal_width],[petal_length],[petal_width]],
31
+ df = pd.DataFrame([[type_white,fixed_acidity,volatile_acidity,citric_acid,residual_sugar,chlorides,free_sulfur_dioxide,total_sulfur_dioxide,density,alcohol]],
32
+ columns=columns)
33
+ print("Predicting")
34
+ print(df)
35
+ res = model.predict(df)
36
+ print(res)
37
+
38
+ img = get_image_with_text(f'{res}')
39
+ img = Image.open(requests.get(flower_url, stream=True).raw)
40
+ return img
41
+
42
+ demo = gr.Interface(
43
+ fn=iris,
44
+ title="Wine Quality Predictive Analytics",
45
+ description="Experiment with the features to predict which quality the wine is.",
46
+ allow_flagging="never",
47
+ inputs=[
48
+ gr.Number(value=1.0, label='is_white_wine (1/0)'),
49
+ gr.Number(value=7.0, label=columns[1]),
50
+ gr.Number(value=0.20, label=columns[2]),
51
+ gr.Number(value=0.25, label=columns[3]),
52
+ gr.Number(value=9.0, label=columns[4]),
53
+ gr.Number(value=0.05, label=columns[5]),
54
+ gr.Number(value=40.0, label=columns[6]),
55
+ gr.Number(value=150.0, label=columns[7]),
56
+ gr.Number(value=0.9950, label=columns[8]),
57
+ gr.Number(value=10.0, label=columns[9]),
58
+ ],
59
+ outputs=gr.Image(type="pil"))
60
+
61
+ demo.launch(debug=True)
requirements.txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ gradio==4.4.1
2
+ hopsworks==3.4.3
3
+ joblib==1.3.2
4
+ pandas==2.0.3
5
+ Pillow==10.1.0
6
+ Requests==2.31.0