import cv2 from tensorflow.keras.models import load_model import gradio as gr import tensorflow as tf import cv2 import numpy as np from tensorflow.keras.models import load_model from tensorflow.keras.models import load_model from tensorflow.keras.preprocessing import image import numpy as np # Load the trained model model = load_model('cat_classifier_model.h5') def predict_cat(image_pil): img_resized = image_pil.resize((224, 224)) img_array = np.array(img_resized) img_array = np.expand_dims(img_array, axis=0) img_array = img_array / 255.0 prediction = model.predict(img_array) if prediction[0][0] > 0.5: return "not a tablet" else: return "is a tablet" # Create a Gradio interface iface = gr.Interface( fn=predict_cat, inputs=gr.Image(type='pil', label='Upload an image of a tablet'), outputs='text' ) # Launch the interface with share=True to create a public link iface.launch(share=True)