rlgondong commited on
Commit
cf0d483
Β·
verified Β·
1 Parent(s): f7d4327

Upload 5 files

Browse files
FinalProj_RESNET-Official.ipynb ADDED
The diff for this file is too large to render. See raw diff
 
app.py ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import joblib
3
+ import numpy as np
4
+ import re
5
+
6
+ # Load models
7
+ model_flavor = joblib.load("dtc_model_flavor.pkl")
8
+ model_topping = joblib.load("dtc_model_topping.pkl")
9
+ model_drink = joblib.load("dtc_model_drink.pkl")
10
+
11
+ # Load encoders
12
+ encoder_flavor = joblib.load("encoder_flavor.pkl")
13
+ encoder_topping = joblib.load("encoder_topping.pkl")
14
+ encoder_drink = joblib.load("encoder_drink.pkl")
15
+ input_encoders = joblib.load("input_encoders.pkl")
16
+
17
+ # Function to clean emoji from text
18
+ def clean_text(text):
19
+ return re.sub(r'[^\w\s]', '', text).strip().lower()
20
+
21
+ # Prediction function
22
+ def predict_merienda(mood, weather, craving_level, last_meal, budget):
23
+ features = [mood, weather, craving_level, last_meal, budget]
24
+ cleaned_features = [clean_text(val) for val in features]
25
+ encoded = [input_encoders[col].transform([val])[0] for col, val in zip(input_encoders.keys(), cleaned_features)]
26
+ encoded_np = np.array(encoded).reshape(1, -1)
27
+
28
+ pred_flavor = encoder_flavor.inverse_transform(model_flavor.predict(encoded_np))[0]
29
+ pred_topping = encoder_topping.inverse_transform(model_topping.predict(encoded_np))[0]
30
+ pred_drink = encoder_drink.inverse_transform(model_drink.predict(encoded_np))[0]
31
+ return pred_flavor, pred_topping, pred_drink
32
+
33
+ # Dropdown options with "Choose one" first
34
+ mood_list = ["Choose one", "😌 Busog pa", "🧘 Chill lang", "⚑ G na G", "😴 Tinatamad"]
35
+ weather_list = ["Choose one", "🌧️ Bed weather", "πŸ”₯ Impyerno", "πŸƒ Mahangin", "☁️ Makulimlim"]
36
+ craving_list = ["Choose one", "πŸš€ High", "🐒 Low", "πŸ–οΈ Medium", "πŸŽ‰ OA"]
37
+ last_meal_list = ["Choose one", "πŸͺ¨ Heavy", "🌿 Light", "🚫 No meal"]
38
+ budget_list = ["Choose one", "πŸͺ™ Gipit", "πŸ’Έ Saks lang", "πŸ€‘ Kakadating lang ng allowance"]
39
+
40
+ # Custom Theme 🎨
41
+ custom_theme = gr.themes.Base(
42
+ primary_hue="rose",
43
+ secondary_hue="amber",
44
+ neutral_hue="stone",
45
+ font=[gr.themes.GoogleFont("Helvetica")]
46
+ ).set(
47
+ body_background_fill="#ffe5e5" # Light reddish background
48
+ )
49
+
50
+
51
+ # Gradio Interface
52
+ with gr.Blocks(theme=custom_theme) as iface:
53
+ gr.Markdown(
54
+ """
55
+ # 🍜 **Your Favorite Merienda Classifier**
56
+ * Pancit-cantonize your vibe to match your mood with a perfect merienda soulmate! πŸŒΈπŸŽ‰πŸ΄πŸ§‘
57
+ """
58
+ )
59
+
60
+ with gr.Row():
61
+ with gr.Column():
62
+ mood = gr.Dropdown(mood_list, label="🌈 Mood", value="Choose one")
63
+ weather = gr.Dropdown(weather_list, label="🌦️ Weather", value="Choose one")
64
+ craving = gr.Dropdown(craving_list, label="πŸ”₯ Craving Level", value="Choose one")
65
+ last_meal = gr.Dropdown(last_meal_list, label="🍽️ Last Meal", value="Choose one")
66
+ budget = gr.Dropdown(budget_list, label="πŸ’° Budget", value="Choose one")
67
+
68
+ submit_btn = gr.Button("πŸš€ Classify Now!", variant="primary")
69
+
70
+ with gr.Column():
71
+ flavor = gr.Text(label="🍜 Recommended Flavor")
72
+ topping = gr.Text(label="πŸ”‘ Recommended Topping")
73
+ drink = gr.Text(label="πŸ₯€ Recommended Drink")
74
+
75
+ submit_btn.click(
76
+ predict_merienda,
77
+ inputs=[mood, weather, craving, last_meal, budget],
78
+ outputs=[flavor, topping, drink]
79
+ )
80
+
81
+ iface.launch()
deployment_assets.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c63520922d21bebbb1936d928998d62a99a169d094d59e4a0815caa7f7c2704b
3
+ size 1678
requirements (1).txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ gradio
2
+ torch
3
+ torchvision
4
+ joblib
5
+ Pillow
resnet_grocery_model_scripted.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0e70f385e2a24a4c62514f88a9ead2580743340a1355c28bbfdf89c2a5a76743
3
+ size 44892341