File size: 1,644 Bytes
159fb0f
 
 
f7d5b45
e845a5d
c1c9c3a
 
742b795
cc9f68a
6040ac9
 
159fb0f
81aa00c
a1507f1
3039e58
 
 
 
 
 
 
 
 
 
 
 
 
 
c0d83e8
 
c47223a
3039e58
65cd9a4
06ee487
3039e58
 
 
 
c0d83e8
e119c02
 
013a8d8
afbdf77
 
 
c0d83e8
 
 
3062159
47a795d
e015e39
47a795d
0cfd3a9
c1c9c3a
159fb0f
c1c9c3a
a1507f1
ea0332d
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
57
58
59
60
61
62
63
import gradio as gr
import tensorflow as tf
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)