mezbahul commited on
Commit
d49fdc4
·
1 Parent(s): c478411

Upload 3 files

Browse files
Files changed (3) hide show
  1. README.md +4 -4
  2. app.py +73 -0
  3. requirements.txt +7 -0
README.md CHANGED
@@ -1,10 +1,10 @@
1
  ---
2
- title: Iris Monitor
3
- emoji: 👀
4
- colorFrom: indigo
5
  colorTo: pink
6
  sdk: gradio
7
- sdk_version: 4.7.1
8
  app_file: app.py
9
  pinned: false
10
  license: apache-2.0
 
1
  ---
2
+ title: Wine Monitoring
3
+ emoji: 💻
4
+ colorFrom: blue
5
  colorTo: pink
6
  sdk: gradio
7
+ sdk_version: 4.4.1
8
  app_file: app.py
9
  pinned: false
10
  license: apache-2.0
app.py ADDED
@@ -0,0 +1,73 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #import os
2
+
3
+ #os.system("python3 -m pip install --upgrade pip")
4
+ #os.system("pip uninstall -y gradio")
5
+ #os.system("pip install httpx==0.24.1")
6
+ #os.system("pip install gradio==4.4.1")
7
+
8
+ import gradio as gr
9
+ from PIL import Image
10
+ import hopsworks
11
+ import pandas as pd
12
+ import hopsworks
13
+ import joblib
14
+ import datetime
15
+ from datetime import datetime
16
+ import dataframe_image as dfi
17
+ from sklearn.metrics import confusion_matrix
18
+ from matplotlib import pyplot
19
+ import seaborn as sns
20
+ import requests
21
+ from dotenv import load_dotenv, dotenv_values
22
+ import random
23
+
24
+ key_value = "KEY_VALUE"
25
+
26
+ project = hopsworks.login(api_key_value=key_value)
27
+ fs = project.get_feature_store()
28
+
29
+ mr = project.get_model_registry()
30
+ model = mr.get_model("wine_model", version=1)
31
+ model_dir = model.download()
32
+ model = joblib.load(model_dir + "/wine_model.pkl")
33
+
34
+ feature_view = fs.get_feature_view(name="wine", version=1)
35
+ batch_data = feature_view.get_batch_data()
36
+
37
+ y_pred = model.predict(batch_data)
38
+ print(y_pred)
39
+ print("----------------------------------------------------------------------------------")
40
+ # Setting Offset Value
41
+ offset = y_pred.shape[0]
42
+ print(f'Offset: {offset}') # number of rows
43
+ offset = offset -1 # account for index value
44
+ random_offset = random.randint(0, offset)
45
+
46
+ pred_quality = y_pred[random_offset]
47
+
48
+ wine_fg = fs.get_feature_group(name="wine", version=1)
49
+ df = wine_fg.read()
50
+ print(df)
51
+ true_quality = df.iloc[-random_offset]["quality"]
52
+
53
+ dataset_api = project.get_dataset_api()
54
+ dataset_api.download("Resources/images/wine_df_recent.png", overwrite=True)
55
+ dataset_api.download("Resources/images/wine_confusion_matrix.png", overwrite=True)
56
+
57
+ with gr.Blocks() as demo:
58
+ with gr.Row():
59
+ with gr.Column():
60
+ gr.Label("Today's Predicted quality")
61
+ input_value = gr.Text(pred_quality)
62
+ with gr.Column():
63
+ gr.Label("Today's Actual quality")
64
+ input_value = gr.Text(true_quality)
65
+ with gr.Row():
66
+ with gr.Column():
67
+ gr.Label("Recent Prediction History")
68
+ input_img = gr.Image("wine_df_recent.png", elem_id="recent-predictions")
69
+ with gr.Column():
70
+ gr.Label("Confusion Maxtrix with Historical Prediction Performance")
71
+ input_img = gr.Image("wine_confusion_matrix.png", elem_id="confusion-matrix")
72
+
73
+ demo.launch()
requirements.txt ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ hopsworks
2
+ joblib
3
+ scikit-learn==1.1.1
4
+ seaborn
5
+ dataframe-image
6
+ gradio==4.4.1
7
+ python-dotenv