Spaces:
Running
Running
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 | |
IMG_SIZE=224 | |
model=load_model('Models/best_model1.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 = {'Cat': 0, 'Dog': 1} | |
# NUM_CLASSES = 2 | |
# #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 = ["Cat","Dog"] | |
# result = {label: float(f"{prediction[0][labels[label]]:.6f}") for label in label_order} | |
# return result | |
def classify_image(inp): | |
NUM_CLASSES=2 | |
# Resize the image to the required size | |
labels = ['Cat','Dog'] | |
inp = tf.image.resize(inp, [IMG_SIZE, IMG_SIZE]) | |
inp = inp.numpy() | |
inp = inp.reshape((-1, IMG_SIZE, IMG_SIZE, 3)) | |
inp = tf.keras.applications.vgg16.preprocess_input(inp) | |
prediction = model.predict(inp).flatten() | |
return {labels[i]: f"{prediction[i]:.6f}" for i in range(NUM_CLASSES)} | |
# image = gr.inputs.Image(shape=(IMG_SIZE, IMG_SIZE)) | |
# label = gr.outputs.Label(num_top_classes=2) | |
# gr.Interface(fn=classify_image, inputs=image, outputs=label, title='Cats Vs Dogs',height=600, width=1200,examples=ex,theme='peach').launch(debug=True) | |
image = gr.Image(height=HEIGHT,width=WIDTH,label='Input') | |
label = gr.Label(num_top_classes=2) | |
gr.Interface(fn=classify_image, inputs=image, outputs=label, title='Smart Pet Classifier').launch(debug=False) | |