SmartWaste / app.py
chaninder's picture
Update app.py
8f64d80
import gradio as gr
import tensorflow as tf
from tensorflow import keras
import huggingface_hub
from huggingface_hub import from_pretrained_keras
# load custom pre-trained model from HuggingFace models
model_api_link = 'chaninder/waste-sorting-model-v4' #'chaninder/waste-sorting-model-updated', #'chaninder/waste-sorting-model'
pre_trained_model = from_pretrained_keras(model_api_link)
# classification labels
labels = ['compost', 'e-waste', 'recycle', 'trash']
def classify_image(inp):
inp = inp.reshape((-1, 224, 224, 3))
#inp = tf.keras.applications.mobilenet_v2.preprocess_input(inp)
prediction = pre_trained_model.predict(inp).flatten()
confidences = {labels[i]: float(prediction[i]) for i in range(4)}
return confidences
# create Gradio interface
iface = gr.Interface(fn=classify_image,
inputs=gr.Image(shape=(224, 224)),
outputs=gr.Label(num_top_classes=4),
examples=["banana.jpg", 'can.jpg', 'battery.jpg'])
iface.launch(share=True)