joychanya commited on
Commit
55ab1b6
1 Parent(s): f1a93de

Upload 5 files

Browse files

export.pkl is the model. Use detect.py to run with streamlit.

Files changed (5) hide show
  1. detect.py +50 -0
  2. export.pkl +3 -0
  3. foodlist.txt +24 -0
  4. requirements.txt +88 -0
  5. testfood.jpg +0 -0
detect.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from fastai.learner import load_learner
3
+ from fastai.vision.all import Resize, ResizeMethod
4
+ from PIL import Image
5
+
6
+ # Function to load the learner
7
+ @st.cache(allow_output_mutation=True)
8
+ def load_model(path):
9
+ return load_learner(path)
10
+
11
+ # Function to resize the image
12
+ def resize_image(img):
13
+ resize_transform = Resize(256, method=ResizeMethod.Squish)
14
+ return resize_transform(img)
15
+
16
+ # Title of the Streamlit app
17
+ st.title("Food Image Classifier")
18
+ food_d = [
19
+ 'แกงเขียวหวานไก่', 'แกงเทโพ', 'แกงเลียง', 'แกงจืดเต้าหู้หมูสับ', 'แกงจืดมะระยัดไส้',
20
+ 'แกงมัสมั่นไก่', 'แกงส้มกุ้ง', 'ไก่ผัดเม็ดมะม่วงหิมพานต์', 'ไข่เจียว', 'ไข่ดาว',
21
+ 'ไข่พะโล้', 'ไข่ลูกเขย', 'กล้วยบวชชี', 'ก๋วยเตี๋ยวคั่วไก่', 'กะหล่ำปลีผัดน้ำปลา',
22
+ 'กุ้งแม่น้ำเผา', 'กุ้งอบวุ้นเส้น', 'ขนมครก', 'ข้าวเหนียวมะม่วง', 'ข้าวขาหมู',
23
+ 'ข้าวคลุกกะปิ', 'ข้าวซอยไก่', 'ข้าวผัด', 'ข้าวผัดกุ้ง', 'ข้าวมันไก่',
24
+ 'ข้าวหมกไก่', 'ต้มข่าไก่', 'ต้มยำกุ้ง', 'ทอดมัน', 'ปอเปี๊ยะทอด',
25
+ 'ผัดผักบุ้งไฟแดง', 'ผัดไทย', 'ผัดกะเพรา', 'ผัดซีอิ๊ว', 'ฟักทองผัดไข่',
26
+ 'ผัดมะเขือยาวหมูสับ', 'ผัดหอยลาย', 'ฝอยทอง', 'พะแนงไก่', 'ยำถั่วพลู',
27
+ 'ยำวุ้นเส้น', 'ลาบหมู', 'สังขยาฟักทอง', 'สาคูไส้หมู', 'ส้มตำ',
28
+ 'หมูปิ้ง','หมูสะเต๊ะ', 'ห่อหมก', 'หมูกรอบ', 'ผัดเปรี๊ยวหวาน', 'น้ำพริกกะปิปลาทู', 'ก๋วยเตี๋ยวเรือ'
29
+ ]
30
+ # Upload an image
31
+ uploaded_file = st.file_uploader("Choose an image...", type="jpg")
32
+
33
+ if uploaded_file is not None:
34
+ # Open and display the image
35
+ img = Image.open(uploaded_file)
36
+ st.image(img, caption='Uploaded Image.', use_column_width=True)
37
+ st.write("")
38
+ st.write("Classifying...")
39
+
40
+ # Resize the image
41
+ img_resized = resize_image(img)
42
+
43
+ # Load the model
44
+ learner = load_model('export.pkl')
45
+
46
+ # Predict the class
47
+ pred_class, pred_idx, outputs = learner.predict(img_resized)
48
+
49
+ # Display the results
50
+ st.write(f'Predicted class: {food_d[pred_idx]}')
export.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3f257f2aa9914698c99117e4a27384be2022868c5af8ea6a74e182862446bddd
3
+ size 87852143
foodlist.txt ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Thai
2
+ 'แกงเขียวหวานไก่', 'แกงเทโพ', 'แกงเลียง', 'แกงจืดเต้าหู้หมูสับ', 'แกงจืดมะระยัดไส้',
3
+ 'แกงมัสมั่นไก่', 'แกงส้มกุ้ง', 'ไก่ผัดเม็ดมะม่วงหิมพานต์', 'ไข่เจียว', 'ไข่ดาว',
4
+ 'ไข่พะโล้', 'ไข่ลูกเขย', 'กล้วยบวชชี', 'ก๋วยเตี๋ยวคั่วไก่', 'กะหล่ำปลีผัดน้ำปลา',
5
+ 'กุ้งแม่น้ำเผา', 'กุ้งอบวุ้นเส้น', 'ขนมครก', 'ข้าวเหนียวมะม่วง', 'ข้าวขาหมู',
6
+ 'ข้าวคลุกกะปิ', 'ข้าวซอยไก่', 'ข้าวผัด', 'ข้าวผัดกุ้ง', 'ข้าวมันไก่',
7
+ 'ข้าวหมกไก่', 'ต้มข่าไก่', 'ต้มยำกุ้ง', 'ทอดมัน', 'ปอเปี๊ยะทอด',
8
+ 'ผัดผักบุ้งไฟแดง', 'ผัดไทย', 'ผัดกะเพรา', 'ผัดซีอิ๊ว', 'ฟักทองผัดไข่',
9
+ 'ผัดมะเขือยาวหมูสับ', 'ผัดหอยลาย', 'ฝอยทอง', 'พะแนงไก่', 'ยำถั่วพลู',
10
+ 'ยำวุ้นเส้น', 'ลาบหมู', 'สังขยาฟักทอง', 'สาคูไส้หมู', 'ส้มตำ',
11
+ 'หมูปิ้ง','หมูสะเต๊ะ', 'ห่อหมก', 'หมูกรอบ', 'ผัดเปรี๊ยวหวาน', 'น้ำพริกกะปิปลาทู', 'ก๋วยเตี๋ยวเรือ'
12
+
13
+ Easy English
14
+ 'green_curry', 'tepo_curry', 'liang_curry', 'taohoo_moosup', 'mara_yadsai',
15
+ 'masaman', 'orange_curry', 'cashew_chicken', 'omelette', 'sunny_side_up',
16
+ 'palo_egg', 'sil_egg', 'nun_banana', 'kua_gai', 'cabbage_fish_sauce',
17
+ 'river_prawn', 'shrimp_ob_woonsen', 'kanom_krok', 'mango_sticky_rice', 'kao_kamoo',
18
+ 'kao_klook_kapi', 'kaosoi', 'kao_pad', 'kao_pad_shrimp', 'chicken_rice',
19
+ 'kao_mok_gai', 'tom_ka_gai', 'tom_yum_kung', 'tod_mun', 'poh_pia',
20
+ 'pak_boong_fai_daeng', 'padthai', 'pad_krapao', 'pad_si_ew', 'pad_fakthong',
21
+ 'eggplant_stirfry', 'pad_hoi_lai', 'foithong', 'panaeng', 'yum_tua_ploo',
22
+ 'yum_woonsen', 'larb_moo', 'pumpkin_custard', 'sakoo_sai_moo', 'somtam',
23
+ 'moopoing', 'satay', 'hor_mok', 'crispy_pork_skin',
24
+ 'sour_sweet_stirfried', 'numprik_kapi', 'Thai_boat_noodle'
requirements.txt ADDED
@@ -0,0 +1,88 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ altair==5.3.0
2
+ annotated-types==0.7.0
3
+ attrs==23.2.0
4
+ blinker==1.8.2
5
+ blis==0.7.11
6
+ cachetools==5.3.3
7
+ catalogue==2.0.10
8
+ certifi==2024.7.4
9
+ charset-normalizer==3.3.2
10
+ click==8.1.7
11
+ cloudpathlib==0.18.1
12
+ confection==0.1.5
13
+ contourpy==1.2.1
14
+ cycler==0.12.1
15
+ cymem==2.0.8
16
+ fastai==2.7.15
17
+ fastcore==1.5.48
18
+ fastdownload==0.0.7
19
+ fastprogress==1.0.3
20
+ filelock==3.15.4
21
+ fonttools==4.53.1
22
+ fsspec==2024.6.1
23
+ gitdb==4.0.11
24
+ GitPython==3.1.43
25
+ idna==3.7
26
+ Jinja2==3.1.4
27
+ joblib==1.4.2
28
+ jsonschema==4.23.0
29
+ jsonschema-specifications==2023.12.1
30
+ kiwisolver==1.4.5
31
+ langcodes==3.4.0
32
+ language_data==1.2.0
33
+ marisa-trie==1.2.0
34
+ markdown-it-py==3.0.0
35
+ MarkupSafe==2.1.5
36
+ matplotlib==3.9.1
37
+ mdurl==0.1.2
38
+ mpmath==1.3.0
39
+ murmurhash==1.0.10
40
+ networkx==3.3
41
+ numpy==1.26.4
42
+ packaging==24.1
43
+ pandas==2.2.2
44
+ pillow==10.4.0
45
+ preshed==3.0.9
46
+ protobuf==5.27.2
47
+ pyarrow==16.1.0
48
+ pydantic==2.8.2
49
+ pydantic_core==2.20.1
50
+ pydeck==0.9.1
51
+ Pygments==2.18.0
52
+ pyparsing==3.1.2
53
+ python-dateutil==2.9.0.post0
54
+ pytz==2024.1
55
+ PyYAML==6.0.1
56
+ referencing==0.35.1
57
+ requests==2.32.3
58
+ rich==13.7.1
59
+ rpds-py==0.19.0
60
+ scikit-learn==1.5.1
61
+ scipy==1.14.0
62
+ setuptools==70.2.0
63
+ shellingham==1.5.4
64
+ six==1.16.0
65
+ smart-open==7.0.4
66
+ smmap==5.0.1
67
+ spacy==3.7.5
68
+ spacy-legacy==3.0.12
69
+ spacy-loggers==1.0.5
70
+ srsly==2.4.8
71
+ streamlit==1.36.0
72
+ sympy==1.13.0
73
+ tenacity==8.5.0
74
+ thinc==8.2.5
75
+ threadpoolctl==3.5.0
76
+ toml==0.10.2
77
+ toolz==0.12.1
78
+ torch==2.3.1
79
+ torchvision==0.18.1
80
+ tornado==6.4.1
81
+ tqdm==4.66.4
82
+ typer==0.12.3
83
+ typing_extensions==4.12.2
84
+ tzdata==2024.1
85
+ urllib3==2.2.2
86
+ wasabi==1.1.3
87
+ weasel==0.4.1
88
+ wrapt==1.16.0
testfood.jpg ADDED