elang197 commited on
Commit
55e26c5
·
verified ·
1 Parent(s): c0b7165

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import numpy as np
3
+ from PIL import Image
4
+ from keras.models import load_model
5
+ from sklearn.preprocessing import LabelEncoder
6
+ import pickle
7
+
8
+ # Lade das trainierte Modell und den LabelEncoder
9
+ model = load_model('/Users/erwinlang/PycharmProjects/DogID/dog_breed_classifier.h5')
10
+ with open('/Users/erwinlang/PycharmProjects/DogID/label_encoder.pkl', 'rb') as f:
11
+ label_encoder = pickle.load(f)
12
+
13
+
14
+ def predict_breed(image, model, label_encoder):
15
+ """
16
+ Vorhersage der Hunderasse basierend auf dem Bild.
17
+
18
+ :param image: Das Bild des Hundes als numpy Array
19
+ :param model: Das geladene Keras Modell
20
+ :param label_encoder: Der LabelEncoder für die Hunderassen
21
+ :return: Die vorhergesagte Hunderasse
22
+ """
23
+ image = image.resize((128, 128)) # Ändere die Bildgröße entsprechend der Modellanforderungen
24
+ image = np.expand_dims(np.array(image), axis=0) # Füge Batch-Dimension hinzu
25
+ predictions = model.predict(image)
26
+ predicted_breed = label_encoder.inverse_transform([np.argmax(predictions)])
27
+ return predicted_breed[0]
28
+
29
+
30
+ # Streamlit App Titel
31
+ st.title("DogID - Finde die Rasse eines Hundes heraus!")
32
+
33
+ # Bild hochladen
34
+ uploaded_file = st.file_uploader("Füge hier deinen Freund auf vier Beinen ein", type="jpg")
35
+
36
+ if uploaded_file is not None:
37
+ # Bild anzeigen
38
+ image = Image.open(uploaded_file)
39
+ st.image(image, caption='Dein hochgeladenes Bild.', use_column_width=True)
40
+
41
+ # Vorhersage treffen
42
+ breed = predict_breed(image, model, label_encoder)
43
+ st.write(f'Toll - Dieser Hund ist ein {breed}!')