import gradio as gr from PIL import Image import matplotlib.pyplot as plt import numpy as np import tensorflow as tf from tensorflow.keras import layers from tensorflow.keras.models import Sequential from tensorflow.keras.models import load_model from keras.preprocessing import image model3 = load_model('best_beans.h5') leaf_class=['angular_leaf_spot', 'bean_rust', 'healthy'] def classify_image(img): img_width, img_height = 224, 224 img = image.load_img(img, target_size = (img_width, img_height)) img = image.img_to_array(img) img = np.expand_dims(img, axis = 0) prediction = model3.predict(img)[0] return {leaf_class[i]: float(prediction[i]) for i in range(3)} gr.Interface(fn=classify_image, inputs=gr.Image( type ="filepath"), outputs=gr.Label(num_top_classes=1)).launch(debug=True)