martenb commited on
Commit
7dbaef2
·
1 Parent(s): 8d8a0c2

Updated app at sön 19 nov 2023 22:08:17 CET

Browse files
Files changed (1) hide show
  1. app.py +41 -6
app.py CHANGED
@@ -5,7 +5,14 @@ import hopsworks
5
  import joblib
6
  import pandas as pd
7
 
8
-
 
 
 
 
 
 
 
9
 
10
  def wine_quality(wine_type, fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides,
11
  free_sulfur_dioxide, total_sulfur_dioxide, density, ph, sulphates, alcohol):
@@ -18,16 +25,44 @@ def wine_quality(wine_type, fixed_acidity, volatile_acidity, citric_acid, residu
18
  print("Predicting...")
19
  print(df)
20
 
21
-
22
-
23
- if wine_type == 'Red':
24
- quality = "Red Wine Quality Prediction Placeholder"
25
  else:
26
- quality = "White Wine Quality Prediction Placeholder"
27
 
28
  return quality
29
 
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  # Define the Gradio interface
32
  iface = gr.Interface(fn=wine_quality,
33
  inputs=["text", "number", "number", "number", "number", "number",
 
5
  import joblib
6
  import pandas as pd
7
 
8
+ # Settings
9
+ # - - Names
10
+ # - - - Models
11
+ model_wine_dir = "wine_models"
12
+ model_red_wine_name = "wine_red_model"
13
+ model_red_wine_version = 1
14
+ model_white_wine_name = "wine_white_model"
15
+ model_white_wine_version = 1
16
 
17
  def wine_quality(wine_type, fixed_acidity, volatile_acidity, citric_acid, residual_sugar, chlorides,
18
  free_sulfur_dioxide, total_sulfur_dioxide, density, ph, sulphates, alcohol):
 
25
  print("Predicting...")
26
  print(df)
27
 
28
+ if wine_type.lower() == 'red':
29
+ quality = red_wine_local_model.predict(df)
30
+ elif wine_type.lower() == 'white':
31
+ quality = white_wine_local_model.predict(df)
32
  else:
33
+ quality = "Unknown wine type. Only 'red' and 'white' are known."
34
 
35
  return quality
36
 
37
 
38
+ print("Logging in to Hopsworks...")
39
+ project = hopsworks.login()
40
+
41
+ print("Getting feature store...")
42
+ fs = project.get_feature_store()
43
+
44
+ print("Getting model registry...")
45
+ mr = project.get_model_registry()
46
+
47
+ print("Getting model for red wine: ...")
48
+ model_red_wine = mr.get_model(model_red_wine_name, version=model_red_wine_version)
49
+
50
+ print("Downloading model for red wine...")
51
+ model_red_dir = model_red_wine.download()
52
+
53
+ print("Initializing model red wine locally...")
54
+ red_wine_local_model = joblib.load(model_red_dir + f"/{model_red_wine_name}.pkl")
55
+
56
+ print("Getting model for white wine: ...")
57
+ model_white_wine = mr.get_model(model_white_wine_name, version=model_white_wine_version)
58
+
59
+ print("Downloading model for white wine...")
60
+ model_white_dir = model_white_wine.download()
61
+
62
+ print("Initializing model white wine locally...")
63
+ white_wine_local_model = joblib.load(model_white_dir + f"/{model_white_wine_name}.pkl")
64
+
65
+
66
  # Define the Gradio interface
67
  iface = gr.Interface(fn=wine_quality,
68
  inputs=["text", "number", "number", "number", "number", "number",