YusufArslan's picture
Update app.py
37ce3b0 verified
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)