Spaces:
Sleeping
Sleeping
import gradio as gr | |
import numpy as np | |
import tensorflow as tf | |
from PIL import Image | |
from tensorflow.keras.models import load_model | |
class_names = ['cardboard', 'glass', 'metal', 'paper', 'plastic', 'trash'] | |
model=load_model("best_mobilenetv2_model.keras") | |
def classify_image(img): | |
img = img.convert("RGB") | |
img = img.resize((224, 224)) | |
img_tensor = tf.convert_to_tensor(np.array(img), dtype=tf.float32) | |
img_tensor = tf.expand_dims(img_tensor, axis=0) | |
prediction = model.predict(img_tensor) | |
predicted_class_index = np.argmax(prediction) | |
predicted_class_name = class_names[predicted_class_index] | |
confidence = prediction[0][predicted_class_index] | |
return f"Predicted: {predicted_class_name} (Confidence: {confidence:.2%})" | |
iface = gr.Interface( | |
fn=classify_image, | |
inputs=gr.Image(type="pil", label="Upload Waste Image"), | |
outputs=gr.Textbox(label="Prediction"), | |
title="♻️ Waste Classifier", | |
description="Upload an image of cardboard, plastic, metal, paper, trash, or glass to classify it." | |
) | |
# Launch the interface | |
iface.launch() |