File size: 1,023 Bytes
c8a967d
3aadcd6
 
 
24a6ece
 
3aadcd6
24a6ece
 
8f64d80
24a6ece
3aadcd6
d44854d
3aadcd6
 
d44854d
e0cb95e
 
 
26df8cc
3aadcd6
 
c8a967d
d44854d
c5713fb
3aadcd6
c5713fb
5b8d7ad
c5713fb
3aadcd6
d44854d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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)