import gradio as gr from keras.models import load_model # TensorFlow is required for Keras to work from PIL import Image, ImageOps # Install pillow instead of PIL import numpy as np model = load_model("keras_model.h5", compile=False) class_names = open("labels.txt", "r").readlines() def pred(img): data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32) image = img size = (224, 224) image = ImageOps.fit(image, size, Image.Resampling.LANCZOS) image_array = np.asarray(image) normalized_image_array = (image_array.astype(np.float32) / 127.5) - 1 data[0] = normalized_image_array prediction = model.predict(data) index = np.argmax(prediction) class_name = class_names[index] confidence_score = prediction[0][index] return class_name[2:], confidence_score in_img = gr.Image(type="pil") etiqueta = gr.Textbox(label='Això és...') percentatge = gr.Textbox(label='robabilitat:') demo = gr.Interface( fn=pred, inputs=in_img, outputs=[etiqueta, percentatge], allow_flagging="never", css='footer {visibility: hidden}', theme=gr.themes.Monochrome(), examples=['ampollaaa.jpg','cartrooo1.jpg']) demo.launch(debug=True)