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)