File size: 1,663 Bytes
159fb0f
 
 
 
6f7f6f4
6d4bbd5
0e3827e
 
52af948
8ee8c7a
e630870
 
159fb0f
75a0432
eb16681
5b3415e
 
 
 
 
 
 
 
 
 
 
 
 
 
e22f878
 
74a719c
5b3415e
b3a3a31
2e4ea84
5b3415e
 
 
 
e22f878
ea1b8bd
 
bc7c11f
786704b
 
 
e22f878
 
 
a163b32
c2f9e23
bae418a
c2f9e23
2cd30e9
0e3827e
159fb0f
0e3827e
eb16681
576c5e4
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
57
58
59
60
61
62
63
64
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_model2.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)
    labels = {'Burger King': 1, 'KFC': 0, 'McDonalds': 2, 'Other': 3, 'Starbucks': 4, 'Subway': 5}
    NUM_CLASSES = 6
    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)

    label_order = ["Burger King", "KFC", "McDonalds", "Other", "Starbucks", "Subway"]

    result = {label: float(f"{prediction[0][labels[label]]:.6f}") for label in label_order}

    return result







 



    
image = gr.Image(shape=(HEIGHT,WIDTH),label='Input')
label = gr.Label(num_top_classes=4)

gr.Interface(fn=classify_image, inputs=image, outputs=label, title='Brand Logo Detection').launch(debug=False)