Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import tensorflow as tf | |
| import numpy as np | |
| from PIL import Image | |
| from io import BytesIO | |
| # Load Model | |
| MODEL = tf.keras.models.load_model("new_cnn_model_tf.h5") | |
| CLASS_NAMES = ["Early Blight", "Late Blight", "Healthy"] | |
| # Function to process and predict | |
| def predict(image): | |
| # Convert image to numpy array | |
| image = np.array(image) | |
| # Expand dimensions to match model input shape | |
| img_batch = np.expand_dims(image, 0) | |
| # Make prediction | |
| predictions = MODEL.predict(img_batch) | |
| # Get class and confidence | |
| predicted_class = CLASS_NAMES[np.argmax(predictions[0])] | |
| confidence = float(np.max(predictions[0])) | |
| return f"Prediction: {predicted_class} (Confidence: {confidence:.2f})" | |
| # Create Gradio Interface | |
| iface = gr.Interface( | |
| fn=predict, # Function to call | |
| inputs=gr.Image(type="pil"), # Image input (PIL format) | |
| outputs="text", # Text output (prediction result) | |
| title="Potato Disease Classifier", | |
| description="Upload an image of a potato leaf, and the model will predict whether it's Healthy, Early Blight, or Late Blight." | |
| ) | |
| # Launch the app | |
| iface.launch() | |