Blazer007's picture
Update app.py
385417f
import numpy as np
import tensorflow as tf
import gradio as gr
from huggingface_hub import from_pretrained_keras
teacher_model = from_pretrained_keras("keras-io/consistency_training_with_supervision_teacher_model")
student_model = from_pretrained_keras("keras-io/consistency_training_with_supervision_student_model")
class_names = [
"Airplane",
"Automobile",
"Bird",
"Cat",
"Deer",
"Dog",
"Frog",
"Horse",
"Ship",
"Truck",
]
examples = [
['./aeroplane.png'],
['./horse.png'],
['./ship.png'],
['./truck.png']
]
IMG_SIZE = 72
def teacher_model_output(image_tensor):
predictions = teacher_model.predict(np.expand_dims((image_tensor), axis=0))
predictions = np.squeeze(predictions)
predictions = np.argmax(predictions)
predicted_label = class_names[predictions.item()]
return str(predicted_label)
def student_model_output(image_tensor):
predictions = student_model.predict(np.expand_dims((image_tensor), axis=0))
predictions = np.squeeze(predictions)
predictions = np.argmax(predictions)
predicted_label = class_names[predictions.item()]
return str(predicted_label)
def infer(input_image):
image_tensor = tf.convert_to_tensor(input_image)
image_tensor.set_shape([None, None, 3])
image_tensor = tf.image.resize(image_tensor, (IMG_SIZE, IMG_SIZE))
return teacher_model_output(image_tensor), student_model_output(image_tensor)
input = gr.inputs.Image(shape=(IMG_SIZE, IMG_SIZE))
output = [gr.outputs.Label(label = "Teacher Model Output"), gr.outputs.Label(label = "Student Model Output")]
title = "Image Classification using Consistency training with supervision"
description = "Upload an image or select from examples to classify it.<br>The allowed classes are - Airplane, Automobile, Bird, Cat, Deer, Dog, Frog, Horse, Ship, Truck.<br><p><b>Teacher Model Repo - https://huggingface.co/keras-io/consistency_training_with_supervision_teacher_model</b> <br><b> Student Model Repo - https://huggingface.co/keras-io/consistency_training_with_supervision_student_model </b><br><b>Keras Example - https://keras.io/examples/vision/consistency_training/</b></p>"
article = "<div style='text-align: center;'><a href='https://twitter.com/_Blazer_007' target='_blank'>Space by Vivek Rai</a><br><a href='https://twitter.com/RisingSayak' target='_blank'>Keras example by Sayak Paul</a></div>"
gr_interface = gr.Interface(
infer,
input,
output,
examples=examples,
allow_flagging=False,
analytics_enabled=False,
title=title,
description=description,
article=article).launch(enable_queue=True, debug=True)