sanjid commited on
Commit
ce07c6f
·
1 Parent(s): 3f75974

Add application file

Browse files
Files changed (1) hide show
  1. app.py +271 -0
app.py ADDED
@@ -0,0 +1,271 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from fastai.vision.all import load_learner
3
+ from pathlib import Path
4
+
5
+
6
+
7
+ food_labels = (
8
+ 'adhirasam',
9
+ 'aloo_gobi',
10
+ 'aloo_matar',
11
+ 'aloo_methi',
12
+ 'aloo_shimla_mirch',
13
+ 'aloo_tikki',
14
+ 'anarsa',
15
+ 'apple_pie',
16
+ 'ariselu',
17
+ 'baby_back_ribs',
18
+ 'Baden_Brägele_with_Bibliskäs',
19
+ 'baklava',
20
+ 'bandar_laddu',
21
+ 'basundi',
22
+ 'beef_carpaccio',
23
+ 'beef_tartare',
24
+ 'beet_salad',
25
+ 'beignets',
26
+ 'bhatura',
27
+ 'bhindi_masala',
28
+ 'Bibimbap_food',
29
+ 'biryani',
30
+ 'Blanquette_de_Veau',
31
+ 'Boeuf_Bourguignon',
32
+ 'boondi',
33
+ 'Bossam_food',
34
+ 'Bouillabaisse',
35
+ 'Braised_Beef_Rheinland_style',
36
+ 'Braunkohl_and_Bregenwurst',
37
+ 'bread_pudding',
38
+ 'breakfast_burrito',
39
+ 'bruschetta',
40
+ 'Budae_Jjigae_food',
41
+ 'Bulgogi_food',
42
+ 'butter_chicken',
43
+ 'Butter_Noodles',
44
+ 'caesar_salad',
45
+ 'cannoli',
46
+ 'caprese_salad',
47
+ 'carrot_cake',
48
+ 'Cassoulet',
49
+ 'ceviche',
50
+ 'chak_hao_kheer',
51
+ 'cham_cham',
52
+ 'chana_masala',
53
+ 'chapati',
54
+ 'cheesecake',
55
+ 'cheese_plate',
56
+ 'chhena_kheeri',
57
+ 'chicken_quesadilla',
58
+ 'chicken_razala',
59
+ 'chicken_tikka',
60
+ 'chicken_tikka_masala',
61
+ 'chicken_wings',
62
+ 'chikki',
63
+ 'chocolate_cake',
64
+ 'chocolate_mousse',
65
+ 'Chuncheon_Dakgalbi_food',
66
+ 'churros',
67
+ 'clam_chowder',
68
+ 'club_sandwich',
69
+ 'Coquilles_Saint_Jacques',
70
+ 'Coq_au_Vin',
71
+ 'crab_cakes',
72
+ 'creme_brulee',
73
+ 'croque_madame',
74
+ 'Crème_brûlée',
75
+ 'Crêpes',
76
+ 'cup_cakes',
77
+ 'daal_baati_churma',
78
+ 'daal_puri',
79
+ 'dal_makhani',
80
+ 'dal_tadka',
81
+ 'deviled_eggs',
82
+ 'dharwad_pedha',
83
+ 'donuts',
84
+ 'doodhpak',
85
+ 'double_ka_meetha',
86
+ 'Dumplings',
87
+ 'dum_aloo',
88
+ 'Döner_with_Curried_Sausage',
89
+ 'edamame',
90
+ 'eggs_benedict',
91
+ 'Escargots',
92
+ 'falafel',
93
+ 'filet_mignon',
94
+ 'fish_and_chips',
95
+ 'foie_gras',
96
+ 'Fondue_Savoyarde',
97
+ 'Frankfurter_Green_Sauce',
98
+ 'french_fries',
99
+ 'french_onion_soup',
100
+ 'french_toast',
101
+ 'fried_calamari',
102
+ 'fried_rice',
103
+ 'frozen_yogurt',
104
+ 'gajar_ka_halwa',
105
+ 'garlic_bread',
106
+ 'gavvalu',
107
+ 'German_Bread_Rolls',
108
+ 'ghevar',
109
+ 'Gimbap_food',
110
+ 'gnocchi',
111
+ 'greek_salad',
112
+ 'grilled_cheese_sandwich',
113
+ 'grilled_salmon',
114
+ 'guacamole',
115
+ 'gulab_jamun',
116
+ 'gyoza',
117
+ 'Gyudon',
118
+ 'hamburger',
119
+ 'Hamburger_Labskaus',
120
+ 'Hamburger_Pannfisch',
121
+ 'hot_and_sour_soup',
122
+ 'hot_dog',
123
+ 'huevos_rancheros',
124
+ 'hummus',
125
+ 'ice_cream',
126
+ 'imarti',
127
+ 'jalebi',
128
+ 'kachori',
129
+ 'kadai_paneer',
130
+ 'kadhi_pakoda',
131
+ 'kajjikaya',
132
+ 'kakinada_khaja',
133
+ 'kalakand',
134
+ 'Kalguksu_food',
135
+ 'karela_bharta',
136
+ 'Kare_raisu',
137
+ 'Katsudon',
138
+ 'Kimchi_Jjigae_food',
139
+ 'kofta',
140
+ 'kuzhi_paniyaram',
141
+ 'Königsberger_Meatballs',
142
+ 'lasagna',
143
+ 'lassi',
144
+ 'ledikeni',
145
+ 'litti_chokha',
146
+ 'lobster_bisque',
147
+ 'lobster_roll_sandwich',
148
+ 'lyangcha',
149
+ 'maach_jhol',
150
+ 'macaroni_and_cheese',
151
+ 'macarons',
152
+ 'makki_di_roti_sarson_da_saag',
153
+ 'malapua',
154
+ 'Manduguk_food',
155
+ 'misi_roti',
156
+ 'Miso_soup',
157
+ 'misti_doi',
158
+ 'modak',
159
+ 'Moules_Marinières',
160
+ 'mussels',
161
+ 'mysore_pak',
162
+ 'naan',
163
+ 'nachos',
164
+ 'navrattan_korma',
165
+ 'Ojingeo_Bokkeum_food',
166
+ 'Okonomiyaki',
167
+ 'omelette',
168
+ 'Omurice',
169
+ 'Onigiri',
170
+ 'onion_rings',
171
+ 'oysters',
172
+ 'pad_thai',
173
+ 'paella',
174
+ 'Pajeon_food',
175
+ 'palak_paneer',
176
+ 'pancakes',
177
+ 'paneer_butter_masala',
178
+ 'panna_cotta',
179
+ 'peking_duck',
180
+ 'phirni',
181
+ 'pho',
182
+ 'Pissaladière',
183
+ 'pithe',
184
+ 'pizza',
185
+ 'poha',
186
+ 'poornalu',
187
+ 'pootharekulu',
188
+ 'pork_chop',
189
+ 'Pork_Knuckle_with_Sauerkraut',
190
+ 'Potato_Fritters_or_Potato_Pancakes_Kartoffelpuffer_',
191
+ 'Potato_Salad',
192
+ 'poutine',
193
+ 'Pretzen_from_Bavaria',
194
+ 'prime_rib',
195
+ 'pulled_pork_sandwich',
196
+ 'Pumpernickel_from_Lower_Saxony',
197
+ 'qubani_ka_meetha',
198
+ 'rabri',
199
+ 'Ramen',
200
+ 'rasgulla',
201
+ 'ras_malai',
202
+ 'ravioli',
203
+ 'red_velvet_cake',
204
+ 'risotto',
205
+ 'Salade_niçoise',
206
+ 'Samgyetang_food',
207
+ 'samosa',
208
+ 'sandesh',
209
+ 'sashimi',
210
+ 'scallops',
211
+ 'seaweed_salad',
212
+ 'Shabu_Shabu',
213
+ 'shankarpali',
214
+ 'sheera',
215
+ 'sheer_korma',
216
+ 'shrikhand',
217
+ 'shrimp_and_grits',
218
+ 'Soba',
219
+ 'sohan_halwa',
220
+ 'sohan_papdi',
221
+ 'Soufflé',
222
+ 'Soupe_à_L_oignon',
223
+ 'spaghetti_bolognese',
224
+ 'spaghetti_carbonara',
225
+ 'spring_rolls',
226
+ 'steak',
227
+ 'Steak_Tartare',
228
+ 'strawberry_shortcake',
229
+ 'Sundae_food',
230
+ 'sushi',
231
+ 'Sushi_Sashimi',
232
+ 'sutar_feni',
233
+ 'tacos',
234
+ 'takoyaki',
235
+ 'Tarte_Flambée_with_a_French_Influence',
236
+ 'Tarte_Tatin',
237
+ 'Tartiflette',
238
+ 'Tempura',
239
+ 'tiramisu',
240
+ 'Tteokbokki_food',
241
+ 'tuna_tartare',
242
+ 'Udon',
243
+ 'unni_appam',
244
+ 'waffles',
245
+ 'Yakitori',
246
+ 'Yangnyeom_Tongdak_food'
247
+ )
248
+
249
+
250
+
251
+ model_path = Path('food-recognizer-r50-v0.pkl')
252
+ model = load_learner(model_path)
253
+
254
+ def recognize_image(image):
255
+ pred, idx, probs = model.predict(image)
256
+ print(pred, probs)
257
+ return dict(zip(food_labels, map(float, probs)))
258
+
259
+ image = gr.inputs.Image(shape=(192,192))
260
+ label = gr.outputs.Label(num_top_classes=5)
261
+ examples = [
262
+ 'test1.jpg',
263
+ 'test2.jpg',
264
+ 'test3.jpg',
265
+ 'test4.jpg',
266
+ 'test5.jpg',
267
+ 'test6.jpg'
268
+ ]
269
+
270
+ iface = gr.Interface(fn=recognize_image, inputs=image, outputs=label, examples=examples)
271
+ iface.launch(inline=False)