import gradio as gr import tensorflow as tf from huggingface_hub import from_pretrained_keras import numpy as np from huggingface_hub import hf_hub_download from keras.layers import TFSMLayer import numpy as np # Download the model model_path = hf_hub_download("keras-io/mobile-vit-xxs") # Load the model using TFSMLayer model = TFSMLayer(model_path, call_endpoint='serving_default') ''' model = from_pretrained_keras("keras-io/mobile-vit-xxs") ''' classes=['dandelion','daisy','tulips','sunflower','rose'] image_size = 256 def classify_images(image): image = tf.convert_to_tensor(image) image = tf.image.resize(image, (image_size, image_size)) image = tf.expand_dims(image,axis=0) prediction = model.predict(image) prediction = tf.squeeze(tf.round(prediction)) text_output = str(f'{classes[(np.argmax(prediction))]}!') return text_output i = gr.inputs.Image() o = gr.outputs.Textbox() examples = [["./examples/tulip.jpg"], ["./examples/daisy.jpg"], ["./examples/dandelion.jpg"], ["./examples/rose.jpg"], ["./examples/sunflower.jpg"]] title = "Flower Recognition Using Transfer Learning" description = "Upload an image or Select from the examples below to classify flowers: " article = "
" gr.Interface(classify_images, i, o, allow_flagging=False, analytics_enabled=False, title=title, examples=examples, description=description, article=article).launch(enable_queue=True)