Spaces:
Running
Running
File size: 1,752 Bytes
08e4872 159fb0f f7d5b45 e845a5d c1c9c3a 742b795 3d5226b 6040ac9 159fb0f c1c9c3a a1507f1 3039e58 c47223a 3039e58 0cfd3a9 c1c9c3a 159fb0f c1c9c3a a1507f1 24c337c c47223a 4bfddf6 159fb0f |
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
#import tensorflow_addons as tfa
import gradio as gr
import tensorflow as tf
import numpy as np
from tensorflow.keras.models import load_model
import tensorflow_addons as tfa
import os
import numpy as np
labels= {'Burger King': 0, 'KFC': 1,'McDonalds': 2,'Other': 3,'Starbucks': 4,'Subway': 5}
HEIGHT,WIDTH=224,224
NUM_CLASSES=6
model=load_model('best_model.h5')
# def classify_image(inp):
# np.random.seed(143)
# inp = inp.reshape((-1, HEIGHT,WIDTH, 3))
# inp = tf.keras.applications.nasnet.preprocess_input(inp)
# prediction = model.predict(inp)
# ###label = dict((v,k) for k,v in labels.items())
# predicted_class_indices=np.argmax(prediction,axis=1)
# result = {}
# for i in range(len(predicted_class_indices)):
# if predicted_class_indices[i] < NUM_CLASSES:
# result[labels[predicted_class_indices[i]]]= float(predicted_class_indices[i])
# return result
def classify_image(inp):
np.random.seed(143)
inp = inp.reshape((-1, HEIGHT, WIDTH, 3))
inp = tf.keras.applications.nasnet.preprocess_input(inp)
prediction = model.predict(inp)
predicted_class_indices = np.argmax(prediction, axis=1)
result = {}
for i in range(len(predicted_class_indices)):
if predicted_class_indices[i] < NUM_CLASSES:
try:
label = labels[predicted_class_indices[i]]
result[label] = float(predicted_class_indices[i])
except KeyError:
print(f"KeyError: Label not found for index {predicted_class_indices[i]}")
return result
image = gr.Image(shape=(HEIGHT,WIDTH),label='Input')
label = gr.Textbox()
gr.Interface(fn=classify_image, inputs=image, outputs=label, title='Brand Logo Detection').launch(debug=False)
|