import gradio as gr import tensorflow as tf import numpy as np from tensorflow.keras.preprocessing import image # Modeli yükle model = tf.keras.models.load_model("model.h5") # Tahmin fonksiyonu def predict_image(img): # Görüntüyü 224x224 boyutuna küçült img = img.resize((224, 224)) # Görüntüyü modelin beklediği formatta (numpy array) hazırla img_array = np.array(img) / 255.0 # Piksel değerlerini normalize et img_array = np.expand_dims(img_array, axis=0) # Modelin beklediği 4D input formatına getir # Tahmin yap prediction = model.predict(img_array) # En yüksek tahmin sonucunu al predicted_class = np.argmax(prediction, axis=1)[0] # Geri dönüşüm malzemesi etiketlerini burada belirle class_names = ['Plastik', 'Kağıt', 'Cam', 'Metal'] # Sonuçları döndür return class_names[predicted_class] # Gradio arayüzünü oluştur iface = gr.Interface(fn=predict_image, inputs=gr.inputs.Image(shape=(224, 224)), # Görüntüyü 224x224 boyutlarına getir outputs="text") # Çıktıyı metin olarak göster (yani tahmin edilen etiket) # Uygulamayı başlat iface.launch(share=True)