import numpy as np import tensorflow as tf import gradio as gr # Load your trained model best_model = tf.keras.models.load_model("best_EffiB0.keras") # Define your class names class_names = ["cardboard", "glass", "metal", "paper", "plastic", "trash"] num_classes = len(class_names) IMAGE_SIZE = (124, 124) # def classify_image(img): img = tf.image.resize(img, IMAGE_SIZE)[None, ...] preds = best_model.predict(img) return {class_names[i]: float(preds[0, i]) for i in range(num_classes)} custom_footer = """

Developed with ❤️ by Adhiraj

LinkedIn GitHub

""" demo = gr.Interface( fn=classify_image, inputs=gr.Image(type="numpy"), outputs=gr.Label(num_top_classes=3), title="Garbage Classifier", description="Classify images into cardboard, glass, metal, paper, plastic, or trash.", article=custom_footer ) demo.launch()