Spaces:
Running
Running
File size: 1,756 Bytes
5ce239b 159fb0f 6f7f6f4 6d4bbd5 0e3827e 52af948 210e5ab e630870 159fb0f 0e3827e eb16681 5b3415e 74a719c 5b3415e 21c23d9 2cd30e9 0e3827e 159fb0f 0e3827e eb16681 0b4701f 74a719c 26a7280 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 prediction
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)
|