Harun01 commited on
Commit
7ec83f2
·
verified ·
1 Parent(s): 1471e11

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +21 -23
src/streamlit_app.py CHANGED
@@ -10,34 +10,32 @@ def main():
10
  st.title("📷 Hurma Resmi Sınıflandırma")
11
  st.write("Bir hurma resmi yükleyin ve hangi tür olduğunu tahmin edelim.")
12
 
 
13
  model = load_model("src/dates_classifier_model.h5")
14
 
15
- # Sınıf isimleri — modelin çıkış sayısıyla birebir uyuşmalı
16
  class_names = ['Ajwa', 'Medjool', 'Sokari']
17
 
18
  file = st.file_uploader("Resim seç", type=["jpg", "jpeg", "png"])
19
- if file:
20
- image = Image.open(io.BytesIO(file.read())).convert("RGB")
21
- st.image(image, caption="Yüklenen Resim", use_column_width=True)
22
-
23
- # Görseli modele uygun boyutlandır
24
- img = image.resize((224, 224))
25
- img = np.array(img) / 255.0
26
- img = np.expand_dims(img, axis=0)
27
-
28
- # Tahmin yap
29
- prediction = model.predict(img)
30
- predicted_class = np.argmax(prediction)
31
-
32
- # Debug için detayları yazdır
33
- st.write("Model çıkışı (ham tahminler):", prediction.tolist())
34
- st.write("Tahmin edilen index:", predicted_class)
35
-
36
- # Hatalı index kontrolü
37
- if predicted_class < len(class_names):
38
- st.success(f"Tahmin: {class_names[predicted_class]}")
39
- else:
40
- st.error("Tahmin edilen sınıf geçersiz. Lütfen modelin çıktısıyla class_names listesini kontrol et.")
41
 
42
  if __name__ == "__main__":
43
  main()
 
10
  st.title("📷 Hurma Resmi Sınıflandırma")
11
  st.write("Bir hurma resmi yükleyin ve hangi tür olduğunu tahmin edelim.")
12
 
13
+ # Modeli yükle
14
  model = load_model("src/dates_classifier_model.h5")
15
 
16
+ # Sınıf isimleri — modelin çıktı sayısıyla birebir uyumlu olmalı
17
  class_names = ['Ajwa', 'Medjool', 'Sokari']
18
 
19
  file = st.file_uploader("Resim seç", type=["jpg", "jpeg", "png"])
20
+ if file is not None:
21
+ try:
22
+ image = Image.open(io.BytesIO(file.read())).convert("RGB")
23
+ st.image(image, caption="Yüklenen Resim", use_container_width=True)
24
+
25
+ img = image.resize((224, 224))
26
+ img = np.array(img) / 255.0
27
+ img = np.expand_dims(img, axis=0)
28
+
29
+ prediction = model.predict(img)
30
+ predicted_class = np.argmax(prediction)
31
+
32
+ # Hatalı index durumuna karşı koruma
33
+ if predicted_class < len(class_names):
34
+ st.success(f"Tahmin: {class_names[predicted_class]}")
35
+ else:
36
+ st.error("⚠️ Tahmin edilen sınıf, sınıf isimleriyle eşleşmiyor. Lütfen modelinizi kontrol edin.")
37
+ except Exception as e:
38
+ st.error(f"⚠️ Hata oluştu: {str(e)}")
 
 
 
39
 
40
  if __name__ == "__main__":
41
  main()